本文へスキップ

簡単!!エクセルVBAメモ

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

IE操作(WEBより情報取得 ※テキスト情報)


 エクセルでIEの操作ができる!!
 これを知ったときに、色々な効率化・可能性など感じました。
 エクセルでも色々できるので、皆様も知って頂ければと思います。

 今回は、WEBからテキストをエクセルに貼り付ける例です。
 ※エクセルにテキストはってしまえば、あとは、エクセルの話なので、VBAの得意か方なら何でもできると思います。

 【サンプル処理イメージ】
  @マクロを実行する。
  AWEBを開く(今回はVBA内に記載)
  B該当ページのテキスト情報をすべて、エクセルに貼り付ける
  ※今回は貼り付けまでです。

 

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

Sub ie_抽出()  'IEテストする。

'**********************************
'*** 備考
'***    @この抽出は WEBから全選択してエクセルに貼り付ける手順です。
'***    (エクセルに全てはってしまえば、あとはエクセルで簡単にやりたいことをやるだけ)
'***    Aこの抽出は取得できないWEBページもあるので、
'***    できないページは違う方法で取得しよう
'**********************************

'**********************************
'*** 1.定義
'**********************************
  '@IE用の定義(使用するためのおまじない的なもの)
   Dim objIE As Object
   Set objIE = CreateObject("InternetExplorer.Application")
   objIE.Visible = True

'**********************************
'*** 2.IEより抽出
'**********************************

  '@WEBを開く
    objIE.Navigate "http://news.yahoo.co.jp/"

    '該当ページの表示完了を待ちます。(表示したら、ループを抜けます)
    While objIE.readyState <> 4 Or objIE.Busy = True 'IEがBusyの間 待つ
        DoEvents
    Wend
    
  'A全てを選択して、コピー
   objIE.ExecWB 17, 0 'OLECMDID_SELECTALL = 17 全てを選択
   objIE.ExecWB 12, 0 'OLECMDID_COPY = 12 コピー
  
  'Bエクセルに貼り付ける ※今回はテキスト形式で貼り付け
    Sheets("wk").Select
    Range("A1").Select
    ActiveSheet.PasteSpecial Format:="Unicode テキスト"


   'HIE終了
    objIE.Quit
    Set objIE = Nothing

End Sub

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


  トップページへ戻る