Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31175 / 76732 ←次へ | 前へ→

【50812】Re:起動済みのIEのソースの取得について
発言  ichinose  - 07/8/16(木) 23:31 -

引用なし
パスワード
   こんばんは。


>ExcelのVBAで下記内容のマクロを作成していましたが
>壁にぶち当たってしまったので質問させてください。
>
>動きとしては、あるWebページに移動して検索を行う動作をしたい。
>その前段階として、そのページには必ず手順を踏んで遷移しないと
>該当のWebページには進めないページになっている。
>
>IE.Navigate2で二回目に開いたページの"IE.Document.Links(0).Click"
>を行うと新規でIEが起動するようになっています。
>その新規で開いたIEを何とかVBA上で操作が行えるようにしたいのですが
>どうやって、innerHTMLを取得していいのかわからず壁にぶち当たっています。

IEのイベントを使用した方法です。

新規ブックにて試してください。
まず、この新規ブックに対して参照設定を行います。
VBEの「ツール」---「参照設定」にて
「Microsoft Internet Controls」にチェックを入れてください。

コードは、標準モジュールではなく、

Thisworkbookのモジュールに記述します。

'====================================
Option Explicit
Public WithEvents ie As InternetExplorer
Dim iex As InternetExplorer
Sub コマンド1_Click()
  Dim ans, idx
  Dim txt As String
  Dim regex As Object
  Set ie = CreateObject("InternetExplorer.application")
  ie.Visible = True
  ie.Navigate2 "http://www.vbalab.net/vbaqa/c-board.cgi?id=excel"
'          ↑半角のhttpに直して実行すること
  Do While ie.Busy = True Or ie.readyState <> 4
    Loop
  ie.document.Links(0).Click
  Do While iex.Busy = True Or iex.readyState <> 4
    Loop
  ans = Split(iex.document.body.innerText, vbCrLf)
  For idx = LBound(ans) To UBound(ans)
    Cells(idx + 1, 1).Value = ans(idx)
    Next
  iex.Quit
  ie.Quit
  Set iex = Nothing
  Set ie = Nothing
  
End Sub
'===============================================================
Private Sub ie_NewWindow2(ppDisp As Object, Cancel As Boolean)
  Set iex = New InternetExplorer
  Set ppDisp = iex
End Sub


コマンド1_Clickを実行してみてください。

「VBA質問箱基本ポリシー 」がシートに表示されます。

対象となるサイトがご自分の管理下のサイトなら、良いですが、

そうでない場合は、この手のコードはメンテが大変ですよ!!

最近は、公共的なサイトは定期的に内容を変えている場合もありますから・・・。

まっ、試してみてください。

1 hits

【50795】起動済みのIEのソースの取得について みつを 07/8/16(木) 11:29 質問
【50797】Re:起動済みのIEのソースの取得について かみちゃん 07/8/16(木) 12:29 発言
【50808】Re:起動済みのIEのソースの取得について みつを 07/8/16(木) 18:40 お礼
【50812】Re:起動済みのIEのソースの取得について ichinose 07/8/16(木) 23:31 発言
【50823】Re:起動済みのIEのソースの取得について みつを 07/8/17(金) 10:04 お礼
【50867】Re:起動済みのIEのソースの取得について みつを 07/8/20(月) 21:58 お礼

31175 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free