
Internet Explorerで開かれた画面に文字を入力したり、
ボタンをクリックすることをVBscriptで試しています。
IEのオブジェクトを作成して起動することはできたのですが、
起動済みのIEのオブジェクトを掴むことができません。
エラーが出てしまいます。
ちなみにIEのオブジェクトは複数開いていて、
タブは1個しか使ってません。
コードは以下のようなものです。
----------------------------------------------
dim obj,ie,win,sh
set sh = CreateObject("Shell.Application")
for each win in sh.Windows
if typename(win.document)="HTMLDocument" then
if win.document.title="IEのタイトル" then
set ie = win
end if
end if
next
ie.document.getElementsByName("名前1")(0).value
ie.document.getElementsByName("名前2")(0).value
ie.document.getElementsByName("名前3")(0).click
※IEのタイトル、名前1、名前2、名前3は
ソースからコピーしたため、間違いありません
----------------------------------------------
どうすればIEのオブジェクトを掴めるでしょうか?
ご存知の方、教えてください。
No.1ベストアンサー
- 回答日時:
win.document.title="IEのタイトル"
↑がTrueにならないということでしたら
vbsをShiftJISで保存してみてください。
私のPCではそれで動作しました。
No.3
- 回答日時:
既にNo.2さんが指摘しておられますが、「titleで比較せずに、URLで確認する」方法も選択できる方法を考えてみました。
ご質問者のお示しになった、スクリプトの中の以下の行
ie.document.getElementsByName("名前1")(0).value・・・①
No.2さんのご指摘どおり、①は実質的に意味はないセンテンスですが、この行の直前までを以下のURLのスクリプトに差し替えしたらどうなるか試してみてください。
スクリプトを保存する際は、No.1さんのご指摘のとおりShiftJIS形式で保存してください。
https://ideone.com/hv8Gnv
一応、タブタイトルとタブURLのどちらかで起動済みIEを検索できる仕様です。
タブタイトルまたはタブURLを指定して実行してください。
「指定のieを見つけました」というメッセージが表示されれば、「起動済みのIEのオブジェクトを掴めた」ということになります。
No.2
- 回答日時:
こんにちは
>エラーが出てしまいます。
エラー表示の際にエラーメッセージと行数や文字位置が表示されると思いますが、それらから原因は大分絞りこめるはずです。
No1様の指摘も一つの原因となりそうですが、titleで比較せずに、URLで確認することで、文字コードの問題は避けられるのではないかと想像します。
(URLに2バイト文字があると同様かもですが、エンコードしておけば…)
あと、ご質問には直接関係ありませんけれど、最後の3行目と2行目はvalue値を指定しているだけで(変数に代入したり何かに利用したりしていないので)、実質的には意味のないセンテンスになっていますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Chrome(クローム) グーグルクロムをマイクロソフト・エッジに切り替える方法 2 2022/06/20 10:08
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- InternetExplorer(IE) Microsoft edgeのIEモードを解除したいのですが。 3 2023/04/09 13:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBScriptからDLL参照設定したい
-
VBAについてです。 初心者です...
-
VBAで既に開いている別アプリケ...
-
エクセルVBAで配列内に空白デー...
-
テキストボックス中の文字列の...
-
AccessVBAで「dim dbs as datab...
-
オブジェクト変数またはWITHブ...
-
ExcelVBAでのNZ関数について
-
Shell.ApplicationのNameSpace...
-
Excel VBA Collection.add で R...
-
列、行番号などをDebug.Printす...
-
InternetExplorer.Application...
-
VBA オブジェクトが空かどうか...
-
CreateObjectとGetObjectの違い
-
ExcelのVBAについて(グラフ操作)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
VBAからPDFファイルにパスワー...
-
エクセルVBAでcode128のバー...
-
VBScriptからDLL参照設定したい
-
VBAについてです。 初心者です...
-
エクセルマクロエラー「'Cells'...
-
オブジェクトが見つかりません
-
エクセルVBAで配列内に空白デー...
-
Excel VBAでWordの複数ファイル...
-
VBScriptでファイルの日時順(降...
おすすめ情報