VBAでIe操作したいのですが次のボタンをクリックしたい 削除


Message#2 2014年11月28日(金)06時27分
From: lbis
下記の内容は条件が色々とあるので少々ややこしいと思います。
また,
「1つの出発点の例」や「叩き台の一種」だと思ってください。



まず,
VBA を動作させるソフトは Excel であるものとします。
(Word や PowerPoint などでは下記 VBA は動作しません。)
そして VBA を書く Excelファイル(ブック) は
任意のフォルダに保存してあるものとします。


また
VBA を書いた Excelファイル(ブック) と同じフォルダに
「Test.html」というファイル名の HTML があり
Excelファイル(ブック) を開いた状態で
「Test.html」を IE で開いて動作させるものとします。

その「Test.html」の内容(ソースコード)は
次のようになっているものとします。



<!DOCTYPE html>
<html>
<head>
<meta charset="shift_jis">
<title>Test</title>
<script type="text/javascript">
function carSelect(){
alert("画像がクリックされました");
}
</script>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="1">
<tr>
<td align="center" colspan="2" height="25">
<a href="javascript:carSelect();">
<img src="/m/images/btn_select_truck.gif" height="20" width="120" border="0" alt="お車を選択します">
</a>
</td>
</tr>
</table>
</body>
</html>



上記のような状態を作成した場合の
Excelファイル(ブック) の 標準モジュール に書く
Subプロシージャ例です↓。



Sub IEを操作してJavaScriptの関数を実行()

Set IE = CreateObject("InternetExplorer.Application")

'この URL↓ を変更する
URL = ActiveWorkbook.Path & "\Test.html"

IE.Navigate (URL)
IE.Visible = True

Do While IE.Busy Or IE.ReadyState <> 4
DoEvents
Loop

'IE で開いたページの関数 carSelect を実行
IE.Document.parentWindow.execScript "carSelect()"

Set IE = Nothing

End Sub



このようにしておいた状態で
VBA を書いた Excelファイル(ブック) から
上記 Sub プロシージャを実行させると
「Test.html」が IE で開き
そのページ内の JabaScript の関数 carSelect が実行されて
「画像がクリックされました」
というダイアログが表示されると思います。



◎参考URL

「エクセルVBAマクロ - IEの操作 - スクリプトの実行」
http://www.excel-vba.net/excel-ie-007.html



なお,
ローカルにある上記のような JavaScript 入り HTML を
IE で開くと,
「この Web ページはスクリプトや AactiveX コントロールを実行しないように制限されています。」
という警告が出ると思います。

この警告が出る場合,
上の VBA の実行は失敗します。

「この Web ページはスクリプトや AactiveX コントロールを実行しないように制限されています。」
という警告を出さないようにするには次のページを参考にして
一時的(この実験中のみ)にでも
「マイコンピューターのファイルでアクティブコンテンツの実行を許可する」
にチェックを入れてください。

「Windows8のIE10で「このwebページはスクリプトやactivexコントロールを実行しないように制限されています」を非表示にする - はぴらき合理化幻想」
http://hapilaki.hateblo.jp/entry/windows8-ie10-activex

なお上記ページには
全 IE を全て閉じて再起動すると設定の変更が有効になるようなことが書いてありますが,
私の環境では PC の再起動をしなければ設定の変更が有効になりませんでした。



以上のようなことができるようになってから
実際のサイトなどで試してみたください。
(何らかの セキュリティ に阻まれるとうまく行かない可能性もあります。)

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com