アプリ版:「スタンプのみでお礼する」機能のリリースについて

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のオブジェクトを掴めるでしょうか?

ご存知の方、教えてください。

A 回答 (3件)

win.document.title="IEのタイトル"



↑がTrueにならないということでしたら
vbsをShiftJISで保存してみてください。

私のPCではそれで動作しました。
    • good
    • 0

既に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のオブジェクトを掴めた」ということになります。
    • good
    • 0

こんにちは



>エラーが出てしまいます。
エラー表示の際にエラーメッセージと行数や文字位置が表示されると思いますが、それらから原因は大分絞りこめるはずです。

No1様の指摘も一つの原因となりそうですが、titleで比較せずに、URLで確認することで、文字コードの問題は避けられるのではないかと想像します。
(URLに2バイト文字があると同様かもですが、エンコードしておけば…)

あと、ご質問には直接関係ありませんけれど、最後の3行目と2行目はvalue値を指定しているだけで(変数に代入したり何かに利用したりしていないので)、実質的には意味のないセンテンスになっていますね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています