今回のレッスン「Web情報を取得する方法」ですが、
これは、直接ExcelのシートにWeb情報を乗せるだけでよい
という場合であればですが、ExcelのWebクエリ機能を利用して、
下記の「マクロの記録」+「いつものちょっとした修正」程度でも
手軽にできるかと思いますので、ちょっとそのやり方ご紹介します。
■Webクエリを使った場合のサンプルコード
Sub Macro1()
'
Range("B2").Select
s = ActiveCell.Value
Call Macro2(s)
End Sub
Sub Macro2(s)
'
ActiveWorkbook.Worksheets.Add
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & s, Destination:=Range("$A$1"))
.Name = "test"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
上記の大まかな作成手順は以下となります。
(一見、難しそうなプログラムに見えますがこの大半が自動記録された
(理解不要な)プログラムとなっていますので、見た目ほど全然難しくは
ありませんし、その他の修正は今回のレッスンとほぼ同じです。)
まず、マクロの記録の方法(Macro2の自動記録作成)は、
[マクロの記録]→[データ]タブの[外部データの取り込み]で[Webクエリ]
→アドレス入力してその横の[移動]ボタン→下の[取り込み]ボタン
→「データのインポート」画面で[新規ワークシート]を選び→[OK]ボタン
→[記録の終了]
の手順になります。
そこから、記録したMacro2のSub Macro2()→Sub Macro2(s)にして
(カッコ内に s を入れるだけ)
次に、下記の1行
"URL;http://www.wat3d.com/gogo/test.html", Destination:=Range("$A$1"))
となっている行のURLのアドレス部分(http://・・・)を、
その変数(引数)の s に置き換えて
↓
"URL;" & a, Destination:=Range("$A$1"))
と直します。(ここの書き変え方が少々難しいだけですので、
もし難しいと思う方はそのまま直さずに(ダイレクトにここに
URLを書き込んだ状態で)利用してもよいかと思います。)
あとは、Sub Macro2(a)→Sub Macro2()として
Macro2の方を実行してください。)
最新の画像[もっと見る]
- 80代の年寄りにVBAが出来るわけがない? 2年前
- 鎌倉殿の13人ー義経の逆落としの地形 3年前
- 鎌倉殿の13人ー義経の逆落としの地形 3年前
- 鎌倉殿の13人ー義経の逆落としの地形 3年前
- 鎌倉殿の13人ー義経の逆落としの地形 3年前
- 鎌倉殿の13人ー義経の逆落としの地形 3年前
- 関ケ原の合戦場をデジタルマップで見ると 3年前
- 関ケ原の合戦場をデジタルマップで見ると 3年前
- 関ケ原の合戦場をデジタルマップで見ると 3年前
- 上田城の3Dデジタルマップ 3年前