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

最近の書き込み件数: 今日 0件、昨日 0件
未読分:3件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#3 2014年11月28日(金)06時28分
From: ニッパー
返事 削除 変更
回答ありがどうございます。さっそくtestをやってみたのですが、

実行時エラー'2147467259(80004005)':

'Busy'メソッドは失敗しました:'IWebBrowser2"オブジェクト

と、いうふうになってしまいました。

どこが失敗しているのでしょうか?

教えてください。
よろしくお願いします。

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 の再起動をしなければ設定の変更が有効になりませんでした。



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

Message#1 2014年11月27日(木)03時00分
From: ニッパー
返事 削除 変更
VBAでIe操作したいのですが次のボタンをクリックしたいのですがやり方がわかりません。
ページはフレームが2つあり一つ目のフレーム内にこのソースがあります。
画像をクリックするタイプのものですがどうかよろしくお願いします。
また、javascriptについても詳しく説明があるとうれしいです。
説明わかりづらいかもしれませんがよろしくお願いします。


<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>

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

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