本文へスキップ

別館:エクセルQC館 別館:エクセル株式館

  1. トップページ>
  2. Tips>
  3. Excel2010、エクセルでIEを操作する方法

Tipstips

備忘録として、主にパソコン関係のTipsを記載して行きます。


新着情報
@UiPath、メモ
AOffice365、Excel:VBAで画面更新がチラツク時の対策
BOffice365、Excel:勝手に手動計算になる原因
COffice365、Excel:フィルターで3つ以上の条件にする方法
DOffice365、Excel:シート同士の違いを見つける方法

Excel2010、エクセルでIEを操作する方法

Excel2010は、手頃な価格で高機能な表計算ソフトです。
表計算、グラフ表示、マクロによる自動化など色々な機能が有ります。

しかし、これだけでは単に表計算ソフトでしかありません。
現在はインターネットの時代です。エクセルとWebサイトを結びつければ、大変便利になります。
エクセルでWebサイトにアクセスする方法を模索しました。
使用したパソコンは、下記のソフトを使用していました。

OS       : Windows7(64bit)
表計算ソフト   : Excel2010(32bit)

以下、Excel2010、エクセルでIEを操作する方法を記載して行きます。

(項目1)
 ・IEを起動してYahoo! JAPANに行き、エクセル将棋館を検索する方法を紹介します。
 ・本ページは、三流君VBAでIE操作 ドキュメント操作 Documentを参照に作成しました。

(項目2)
 ・大きな流れは、下記の通りです。
  IE起動 → キーワード入力 → 検索実行

 ・IE起動
  Dim myIE As Object
  Set myIE = CreateObject("InternetExplorer.Application")
  myIE.Navigate "https://www.yahoo.co.jp/"
  myIE.Visible = True
  Call sub_wait(myIE)

 ・キーワード入力
  myIE.Document.all("srchtxt").Value = "エクセル将棋館"
  Call sub_wait(myIE)

 ・検索実行
  myIE.Document.all("srchbtn").Click
  Call sub_wait(myIE)

(項目3)
 ・上記のポイントとなるのは、.Document.all("○○○")の○○○です。
 ・Webサイトを操作するには、ドキュメントにアクセスする必要が有ります。
 ・ドキュメントにアクセスする為には、○○○を指定します。
 ・これを調べるには、Chromeで当該URLを表示し、右クリックして「要素を検証」を選択します。
 ・キーワード入力を調べると、srchtxtが見つかりました。
  
  ↑クリックすると拡大します。

 ・検索実行を調べると、srchbtnが見つかりました。
  
  ↑クリックすると拡大します。

(項目4)
 ・IE自体を操作するには、ExecWBメソッドが使用できます。
  myIE.ExecWB 17, 0 '全てを選択
  myIE.ExecWB 12, 0 'コピー

 ・下記URLが参考になります。
  InternetExplorer object (Windows)
  ExecWB method (Windows)
  OLECMDID enumeration (COM)
  OLECMDEXECOPT enumeration (COM)

(項目5)
 ・全部のソースコードは、下記の通りです。
  Option Explicit

  'Sleep関数
  Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

  Sub main()

    '変数宣言
    Dim myIE As Object

    '変数設定
    Set myIE = CreateObject("InternetExplorer.Application")

    'IE操縦
    myIE.Navigate "https://www.yahoo.co.jp/"

    'IE表示
    myIE.Visible = True

    '一時待機
    Call sub_wait(myIE)

    'キーワード入力
    '<input name="p" id="srchtxt" class="bdA7" type="text" value="" autocomplete="off">
    myIE.Document.all("srchtxt").Value = "エクセル将棋館"
    Call sub_wait(myIE)

    '検索実行
    '<input type="submit" id="srchbtn" class="srchbtn" value="検索">
    myIE.Document.all("srchbtn").Click
    Call sub_wait(myIE)

  '   'IEを終了
  '   myIE.Quit
  '   Set myIE = Nothing

  End Sub

  Sub sub_wait(myIE)

    Do While myIE.Busy = True Or myIE.readystate <> 4
      DoEvents
    Loop

    Sleep 100

  End Sub

(項目6)
 ・以上で、Excel2010、エクセルでIEを操作する方法は終了です。



contents

エクセル将棋館

日本国

地方都市


スポンサード リンク