システム管理のIE操作をVBAで行うには
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2014年12月8日(月)18時37分 From: VBAマスター | 返事 削除 変更 |
とりあえず、HTMLを少し理解できるならば、それほど難しい話ではありません。基本的には、 ・input、button、form等のタグを特定する。 ・IEオブジェクトを作成する(IE起動)。 ・目的のタグオブジェクトを取得する。 ・目的のアクション(入力、押下)を行なう。 となります。後はVBAの手続きの問題だけです。 例えば、下記のページは、「ds.txt」と入力してボタンを押せば、テキストが出てきますので、それを自動化してみます。 http://www.ajaxtower.jp/ini/html/sample5.html Sub test() Set ie=CreateObject("InternetExplorer.Application") ie.Visible=True ie.Navigate("http://www.ajaxtower.jp/ini/html/sample5.html") 'ビジーウエイト Do DoEvents Loop Until (ie.Busy=False) And (ie.ReadyState=4) '5秒ウエイト Application.Wait Now + TimeValue("00:00:05") Set inobj=ie.document.getElementsByTagName("input") Set txt=inobj.Item(0) Set bt=inobj.Item(1) txt.Value="ds.txt" bt.Click End Sub まずは、目的のテキストボックスやボタンを特定して、所定のアクションを起こすことから始めてみてはいかがでしょうか。それさえ完成させれば、データの読み込みとループの追加だけで済みます。 とりあえず主なメソッドは、以下のものです。 ・「ie.document」配下のメソッド getElementByID:id属性を元にタグを取得 getElementsByTagName:指定したタグを全て取得 getElementsByName:指定したname属性のタグを全て取得 ・タグオブジェクト配下のメソッド getAttribute:指定した属性値を取得する |
Message#1 2014年12月8日(月)18時36分 From: ハイカラマツメ | 返事 削除 変更 |
VBAでIEを操作できると聞きました。 あるイベント管理のシステムを利用しておりますが、一度に数百件の登録があり、これを自動化したいと思っております。 具体的には、入力する内容をエクセルで準備しておき、エクセルからVBAでIEを操作してフォーム入力→送信を自動化させるということができればと考えております。 1.ID/パス入力による管理画面ログイン 2.エクセルシートからデータの読み込み 3.フォームオブジェクトへの入力 4.送信→確認画面でもう一度送信 2〜4を登録された件数分ループ という感じをイメージしております。 方法がわかる方、ご教示いただけますでしょうか。 当方、VBAの知識はまったくありませんが、PHP・SQL・JSくらいは自由に使えるくらいのシステム理解度です。 よろしくお願いします! |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降