GoGoマクロのブログ

初心者向けマクロ講座「Go!Go!マクロ」の筆者三太郎の公式ブログです。

Lesson 181 「IE情報取得」の補足

2013-04-17 04:08:11 | マクロ作成のコツ

今回のレッスン「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の方を実行してください。)

コメント    この記事についてブログを書く
« プログラマーとSEの違いとは? | トップ | GWの渋滞とマクロの案内人... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

マクロ作成のコツ」カテゴリの最新記事