VBAでのIE上のボタン操作についての質問です。あるウェブページ上に表示されている「OK」のボタンをクリックし、PDFファイルを表示させたいのですが、なかなかうまくいきません。ボタン周辺のHTMLソースは以下のようになっています。また、このOKのボタンをクリックしますと、「PDFを表示します」のメッセージとともに小さいダイアログボックスが表示され、そこでまた「OK」のボタンを押すことでPDFがようやく表示されるようになっています。このサイトはID・パスワードが必要なサイトですので、残念ながらサイトをこちらに掲載することができません。どなたかご教授いただけますでしょうか。よろしくお願い致します。


<!--表示ボタン--><table border="0"width="100%"class="popBtn"><tr><td align="center"><input type="submit"value="OK"class="bt2"id="popOK"onclick="return pdf();"></td></tr></table><!--表示ボタン--></td></tr></table><input type="hidden"name="analysisPrevActionId"value="SATCB01J"></form></div><!--コンテンツ--></body></html>

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2009/07/23 17:37:50
  • 終了:2009/07/24 10:10:20

回答(3件)

id:kia_44 No.1

きあ回答回数396ベストアンサー獲得回数302009/07/23 19:43:56

ポイント27pt

質問を理解できていませんが、多分こんな意味ですよね。【作ってみた】

http://kia.the-ninja.jp/hatena/scr.html

ヘッダーの5~15行がが実際に呼ばれるスクリプトで、

bodyの23行ががトリガーとなっています。

「VBAでのIE上のボタン操作についての質問です」ってのがよくわからなかったんですが、やりたかったことはこれですか?

違うならポイントは不要です。

できればボタン周辺のHTMLのいらないタグ(テーブル部分やbodyの閉じ以降)は除外していただけるとわかりやすくてうれしいです。

id:tororosoba

すみません。実はVBAでOKのボタンをクリックさせ、PDFを開くということを自動化したいと考えてています。作っていただいたページと同じつくりです。ボタンをクリックできずに困っています・・・。

2009/07/23 19:59:27
id:jccrh1 No.2

jccrh1回答回数111ベストアンサー獲得回数192009/07/23 22:42:47

ポイント50pt

テスト用HPを適当に作って試してみました。

ただ、OKボタンはPDFではなくALERTで代用してあります。

※終了処理やエラーリカバリー処理の対応は省いています。

Sub OK_click()
 Dim oIE       As Object
 Dim InputTag  As Object
 Set oIE = CreateObject("InternetExplorer.Application")
 oIE.Visible = True                                        ' IEを表示
 oIE.Navigate2 ("http://excel.life.coocan.jp/test.html")   ' 指定HPを起動
 While (oIE.Busy = True): Wend                             ' 表示完了まで待つ
 Set InputTag = oIE.Document.getElementsByTagName("INPUT")
 For I = 0 To InputTag.Length - 1
   If InputTag(I).Value = "OK" Then
     InputTag(I).Click
     Exit For
   End If
 Next I
End Sub

 

ダミーURL:http://q.hatena.ne.jp/1248338268

id:tororosoba

jccrh1さん、ありがとうございました。こちらで早速試してみます。

2009/07/24 09:04:06
id:kia_44 No.3

きあ回答回数396ベストアンサー獲得回数302009/07/23 23:15:31

ポイント50pt

PCにエクセルすらないのでVBAが試せませんが、

①IEをVBAから起動(同時に該当ページを開く)以下参考URL

http://www.ken3.org/cgi-bin/group/vba_ie.asp

②ターゲットにあたるまでTABをsendkye、あたったらスペースをsendkey,さらにスペースをsendkey。以下参考URL

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_v08.htm

どうでしょうか。


押せないだけならフォーカスは取れてるのでしょうか。

それならスペースかエンター送ればよさそうですけど。

id:tororosoba

kia_44さん、有難うございました。参考にさせていただきます。

2009/07/24 09:04:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません