2011年8月28日日曜日

VBS IE操作 confirm確認メッセージを無効にする小細工



VBS(WSH)で、confirm確認メッセージをつぶしてから、
ボタンをクリックして処理を行いました。

小細工で同名の関数を.createElement SCRIPTで作成して、
.appendChildで追加
そんな感じです。

ソースコードと全体の流れは http://d.hatena.ne.jp/ken3memo/20110828 を見てください


三流君 IE操作 VBS JRA IPAT テスト 試行錯誤 confirm 確認メッセージ 無効 .createElement SCRIPT .appendChild

VBS IE操作 .Valueで値をセット .Clickでボタンを押す JRA入出金メニュー



VBS(WSH)で、名前の付いた項目に値をセットして、ボタンをクリックしてみたいと思います。

input type=text は、 名前を指定して .Value に 値をセット
type=BUTTON の ボタンは、名前を指定して .Click で ボタンを押しました。

HTMLの入力項目やボタンにName=と名前が付いていると楽だなぁ・・と思いつつ。。。。

ソースコードと全体の流れは http://d.hatena.ne.jp/ken3memo/20110828 を見てください


三流君 IE操作 VBS JRA IPAT テスト 試行錯誤 ボタン type=BUTTON .Click 金額 type=text .Value

VBS IE操作 name=MENU1 の ボタンを押す JRA入出金メニュー 入金指示



VBS(WSH)で、名前の付いたボタンをクリックしてみたいと思います。

同じように、入出金メニュー(新しく開いたIE)を探してから、
name=MENU1 と 名前が付いているので
.Clickしてみた、そんな感じてす。

ソースコードと全体の流れは http://d.hatena.ne.jp/ken3memo/20110828 を見てください

三流君 IE操作 VBS JRA IPAT テスト 試行錯誤 ボタン BUTTON .Click

VBS IE操作 リンク先を調べ クリックする



VBS(WSH)で、IEのドキュメントからリンク先を調べてクリックしてみたいと思います。

.getElementsByTagName で Aのタグを集めます
.Lengthで集めた数がわかるので、
For n = 0 To objA.Length - 1のループを作ります。
objA(n).OuterHTML で n番目のHTMLソースを取得できます。

あとは、見つけたらクリックじゃないけど、
見つけるのに、InStr関数を使ったりして、見つけ、
そして、objA(n).Click でクリックしました。

ソースコードと全体の流れは http://d.hatena.ne.jp/ken3memo/20110828を見てください


三流君 IE操作 VBS JRA IPAT テスト 試行錯誤 .getElementsByTagName .OuterHTML InStr .Click

VBS IE操作 表示されているIEをURLを条件に探す



ソースコードと全体の流れは http://d.hatena.ne.jp/ken3memo/20110828 を見てください

VBS(WSH)から表示されているIEをURLを条件に探してみたいと思います。

CreateObject Shell.Application で シェルのオブジェクトを作成して、
For Each objWindow In objShell.Windows で 1つ1つ取り出して、
TypeName(objWindow.document) で ドキュメントのタイプを表示させてみました。

TypeName(objWindow.document) が HTMLDocument だったら、
MsgBox objWindow.document.Title & vbCrLf & objWindow.document.URL
で、タイトルとURLを確認してみました。

あとは、.URLの値を比べ
Set objIE = objWindow で見つけたオブジェクトをセットしただけでした。


三流君 IE操作 VBS JRA IPAT テスト 試行錯誤 CreateObject Shell.Application document.URL

2011年8月24日水曜日

三流君 IE操作 起動済みIE、操作済み、既存の表示済みWEB画面を操作


YouTubeで見る → http://www.youtube.com/watch?v=po2IeQtSwaw

説明
既存の表示済みWEB画面を操作したかったので、

Shell.Application で 管理されている
.Windows を For Each で 1つ1つ取り出し、
TypeNameでタイプを探る。

タイプが If TypeName(objWindow.document) = HTMLDocument なら、
次に
URLを探す
If objWindow.document.URL で判断
URLが一致したら、変数objIEに保存する ( Set objIE = objWindow '代入する )

目的のIEが↑で見つかったかを
If objIE Is Nothing Then
でチェックして、見つからない時は Exit Sub

見つかったら、項目(Name=MEMO)にデータをセットする
セット後、登録ボタンを押す

こんな感じの流れです。

ソースコードは http://d.hatena.ne.jp/ken3memo/20110823/1314115156を見てください。

三流君 VBA IE操作 起動済みIE 操作済みIE 既存IE 試行錯誤 テスト デバッグ Shell.Application .Windows document.URL

2011年8月1日月曜日

30分でわかる Excel VBAでIE操作 はじめの一歩 参照設定してね



ごめんなさい、録音ミスで無音です。
まぁ、画面の動きを見て、あっこんなことできるんだぁ・・・
程度に見てください。

解説のTOPは http://www.ken3.org/cgi-bin/group/vba_ie.asp を見てください。


三流君 30分でわかる Excel VBA IE操作 はじめの一歩 参照設定 As HTMLDocument HTMLFormElement HTMLInputElement