ここから本文です

VBAでIE制御 VBAでIE制御を行いたいと思います。本で学習しましたところ、 と...

tab********さん

2018/1/1223:23:11

VBAでIE制御

VBAでIE制御を行いたいと思います。本で学習しましたところ、
とあるHP上のテキストボックスに値を入力する場合のサンプルコードとして
以下のようなものがありました。

Dim colSh
Dim win
Dim strTemp
Dim objIE
Set colSh = CreateObject("Shell.application")

for each win in colSh.windows
if typename(win.document)= "HTMLDocument" then
if instr(win.document.title,"Yahoo") > 0 then
set objIE = win
End if
End if
next

Dim textAreaInput as HTMLTextAreaElement

Set txtAreaInput = ie.document.getElementByID("TextArea1")
textAreaInput.value = "あいうえお"

最後から2行目ですが、HP上にたくさんあるテキストボックスの中で
なんでそのテキストボックスのIDが "TextArea1" であることが分かるんでしょうか?
HPのHTML文からいちいち探すのでしょうか?

とにかくVBAからIEの制御を自由に行えるようになりたいのですが、何を学習すればよいでしょうか?とりあえずHTMLを学習すれば何か見えてきますか?

ちなみにVBAは2年程度の実務経験があります。

閲覧数:
105
回答数:
3

違反報告

ベストアンサーに選ばれた回答

kak********さん

2018/1/1315:19:45

回答ではありませんが、VBAの実務経験があるのでしたらVB.NETへ移行されてはどうですか。
コーディングやデバッグなどはVBAのIDEと比べ物にならないくらい楽になりますよ。

  • 質問者

    tab********さん

    2018/1/1406:33:03

    VB.NET の学習もやってみたのですが、初心者向けの参考資料(ネットや本)が少なすぎてきつかったんです。
    IDEでどんなことができるのかは今後学習していくつもりです。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

hot********さん

2018/1/1309:56:03

"TextArea1"であるのは、htmlのソースから調べると思います。

VBAがIEを制御する時に使っているのは主に、ブラウザが持っているDOMと言う機能です。
DOMは、JavaScriptやASPなどのスクリプトがブラウザを制御する時に使っている機能です。
JavaScriptなどがやってる事を、VBAから行ってIEを制御します。
なので、ある程度はHTMLとDOMの知識が必要です。

ただし、HTMLもDOMも機能が豊富なので、全部覚えるのは大変なので、独学で覚えるなら、VBAから制御しているサンプルを自分で打ち込んでみるのがいいと思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

y_h********さん

2018/1/1223:33:29

ブラウザでF12を押すとタグが見えるので、
それのIDにあたります。

もう一つの方法はプログラムからpostを送信し、
ページをダウンロードして
Xmlで確認したりします。

getElementByID 以外にもして方法は色々ありますが、
個人的には
C#でselenumを組み込み
ブラウザはFireFoxでxpathやidやtagの種類やcssや
書き込まれている文字で操作するのが、
安定する気がします。

結論的にはHTMLを見るも良し、
F12からカーソルを当てるだけでそのタグを見れる機能が
あるので、それでも良しです。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる