本文へスキップ

簡単!!エクセルVBAメモ

3.VBA応用(使用ケース集)

IE操作(WEBより情報取得 ※URL取得)


 IE操作の情報取得第二段です。
 色々な情報を取得できるのですが、今回はテキスト情報でなく、URLを取る例です。


 【サンプル処理イメージ】
  @マクロを実行する。
  AWEBを開く
  B開いたページにある、URL情報のみ取得し、エクセルにはる


 【処理イメージ】
  ※開いたページサンプル(ここのページにある全部のURLをとる)
    

 【処理結果イメージ】
  ※URLをエクセルに貼った
    


VBAサンプル
===============================================
=== 開始!!======================================
===============================================



Sub IEのページより情報取得()
   
=====================================================
' IEから情報を取得する例。(今回は、そのページにあるURL情報を全て取得してみる
=====================================================
   
=====================================================
'@初期処理
=====================================================

'IEオブジェクトを作成し、開く(今はページしていないので空白)
    Dim objIE As Object
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = True

=====================================================
'A画面遷移
=====================================================
'画面をここへ移動する
    objIE.Navigate "http://www.yahoo.co.jp/"
  '画面が開くまで待つ
    Do While objIE.Busy Or objIE.ReadyState < 4
        DoEvents
    Loop
=====================================================


    'すべてのハイパーリンクのURLを取得し、「urls」に格納
    Dim a As Object
    Dim urls As New Collection
    For Each a In objIE.Document.getElementsByTagName("A")
        urls.Add a.href
    Next

   '(参考1)入力フォームの場合  
   '※実際は、該当サイトを開いて、右クリックで、「要素の検査」をすればフォーム名がわかる
'    For Each objtag In objIE.document.getElementsByTagName("input")
'        MsgBox objtag.Name
'    Next

   '(参考2)すべてのページに対するループ処理
'    For Each url In urls
'        MsgBox (url)
'        'ここで各URLに対して処理(とりあえずURLを表示する)
'        objIE.Navigate url
'        Do While objIE.Busy Or objIE.ReadyState < 4
'           DoEvents
'        Loop
'    Next
    
  '今回は取得したURLをエクセルに保存してみる
    Dim url As Variant
    Dim i As Long
    i = 1
    For Each url In urls
        Cells(i, 1) = url
        i = i + 1
    Next

  'HIE終了
    objIE.Quit
    Set objIE = Nothing
    
End Sub

================================================
=== 終了!!=======================================
================================================


  トップページへ戻る