- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでのIE操作・HTML操作について)
VBAでのIE操作・HTML操作について
このQ&Aのポイント
- VBAを使ったIE操作やHTML操作について質問です。特定のURLを表示させることはできるのですが、表示されたウェブサイトのHTML内の特定の文字列と、アクティブなセル内のテキストが一致した時にリンクをクリックするマクロは書けるのでしょうか?
- 具体的な例として、特定のウェブサイトコンテンツが夏にしか表示されない場合を考えます。エクセルのシートに「水着」という文字列がある場合、IEで表示されたウェブサイト内の「水着」という文字列がセルと一致したら、リンクをクリックするマクロを作成したいと考えています。
- VBAを独学で学んでいる者ですが、IEやHTMLの操作について詰まってしまっています。質問として、VBAでIEを操作し、特定のURLを表示させることはできるのですが、表示されたウェブサイト内の特定の文字列と、アクティブなセル内のテキストが一致した場合にリンクをクリックするマクロを作成することは可能でしょうか?お知恵をお貸しください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
開いたHTMLから、全てのリンクURLと表示テキストを抽出し、列挙。 そのテキストに検索をかけて一致したリンク先URLを開く ではダメなんでしょうか?
お礼
ご回答がヒントになり、試行錯誤の末、やりたいことができました!! 参考URL先のソースを以下のように改変いたしました。 'リンク情報からオブジェクトを探し.Clickする For n = 0 To objIE.document.Links.Length - 1 'リンク数分まわす Debug.Print objIE.document.Links(n).innerText 'デバックで表示する 'リンク先(.text)をチェックする(文字列比較する) If objIE.document.Links(n).innerText = "水着" Then objIE.document.Links(n).Click '.Clickでクリックしてみた Exit For '見つかったので強制的にループを抜ける End If Next
補足
ご回答ありがとうございます!! ご回答いただいた方法で大丈夫とおもうのですが、記述の仕方はどうすればいいでしょうか?? 検索エンジンや参考URL先などで調べましたが、突破口がつかめずにいます。 お忙しいところ失礼ですが、記述方法をご教授願えたら・・・と思います。 宜しくお願い致します。