重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

webフォームへの入力にvbsを用いています。
sendkeysを用いて入力するようにしています。
(ログイン用スクリプトとして検索して見つけたものをいじっています。)

Set WshShell = CreateObject("WScript.Shell")
id = "1234"
pass = "abcd"
name = "taro"
WshShell.Sendkeys id
WshShell.Sendkeys "{tab}"
WshShell.Sendkeys pass
WshShell.Sendkeys "{tab}"
WshShell.Sendkeys name
WshShell.Sendkeys "{tab}"
・・・

上記はザックリと書いたもので誤りがあるかもしれません。
動作イメージだけご理解いただければと思います。

いくつか入力欄があるのですが、特定の特定の項目だけ入力が行われない事象がでてきました。
例えば
WshShell.Sendkeys name
のように文字列を変数で与えるとはフォームに入力が行われない。しかしながら
WshShell.Sendkeys "taro"
のように直接文字を指定すると入力される。
Sendkyesの直前に待機時間を設けても、変数で指定した場合にに限って入力が行われません。
変数に与える文字列に、+,^,%,{}などは含まれておらず、半角文字だけです。


なぜこのような事がおきるのか、原因として考えられる事を教えて下さい。

質問者からの補足コメント

  • 原因がわかりました。
    変数受け渡しにあたっての変数宣言に誤りがありました。
    いただいた回答の通り、変数に値が入っていない、が正解でした。

      補足日時:2025/04/04 15:01

A 回答 (1件)

変数に文字列が入っていないくらいしか思いつきません。

念のため、入力直前にdebug.Printを入れてみてはいかがでしょうか
    • good
    • 0
この回答へのお礼

ありがとうございます。
Msgbox で変数に文字列が格納されていることは確認済みです。

変数nameが入力されないとして、
ここを正常に入力される変数idに置き換えても入力されない状態となっています。

お礼日時:2025/04/04 10:47

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

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


このQ&Aを見た人がよく見るQ&A