• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbsでフォームに値を入力できない)

vbsでフォームに値を入力できない

このQ&Aのポイント
  • vbsでフォームに値を入力する方法がうまくいかないです。
  • ファイルパスを入力するテキストボックスに値を入力できません。
  • IE.document.form(0).file.valueによるテキストボックスへの値の入力が機能しません。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。 > ファイルパスを入力するテキストボックスで、「ファイルを > 選択する」ダイアログボックスを起動するボタンが付属... INPUT TYPE=FILE のことですね。#1 の方がご回答されてますが、 セキュリティー的な理由で、通常まともなブラウザであれば、 不可能です。  # そのようになっていないと、ローカルのファイルを勝手に  # 送信するスクリプトを組めてしまいますから。 SendKeys で逃げるしかないですかね.... ie.document.form(0).file.focus CreateObject("Wscript.Shell").SendKeys "c:\test.csv" などでいけると思います。もちろん IE がアクティブでないと ダメですよ。 ただ、WSH の SendKeys は日本語がバケます。もし、日本語の ファイル名がある場合は、クリップボードを経由するしかない かもしれません。こんな感じ。 ' // IE の各種定数 Const OLECMDEXECOPT_DODEFAULT = 0 Const OLECMDID_PASTE = 13 ' // クリップボードにファイル名をセットする ie.document.parentWindow.clipboardData.setData "text","C:\テスト.csv" ' // 目的のテキストボックスをフォーカスしてペースト ie.document.form(0).file.focus ie.ExecWB OLECMDID_PASTE, OLECMDEXECOPT_DODEFAULT 全ての PC で必ずしも上手くいくとは限りませんが。。 私の環境では、一見して動作してます。

daichn1
質問者

お礼

お礼が遅くなって申し訳ありません。 クリップボード経由でファイル名を送り込むやり方で何とか できました!ありがとうございましたm( )m

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

出来ません セキュリティ上の理由からできないようになっています ご質問のことが出来てしまうと『悪意のある第三者』がサーバーがパンクするほどの大量データを流し込めてしまうからです フォームの送信の仕組みを直接操作するように制御してやれば可能ですが VBScriptのみでは限界があるでしょう

daichn1
質問者

お礼

遅くなりましたが、ご回答ありがとうございました。 なるほど、制限がかかっていたんですね。

関連するQ&A