
下記のコードによりファイルパスを入力したいのですが、思ったとおりに動いてくれません(環境はwindowsXP、IE6)
set IE=WScript.CreateObject("InternetExplorer.Application")
IE.Navigate("http://~")
IE.Visible=true
IE.document.form(0).file.value="c:\etc.csv"
値を入力しようとしているテキストボックスは、
ファイルパスを入力するテキストボックスで、「ファイルを
選択する」ダイアログボックスを起動するボタンが付属していますが、
パスを直接入力することも可能です。
「IE.document.form(0).file.focus」では問題ないのですが、
「IE.document.form(0).file.value="c:\etc.csv"」ではテキストボックスに値が入力されません。つたない説明で恐縮ですが、解決への
ヒントをご教示頂ければ幸いです。よろしくお願いいたします。
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 で必ずしも上手くいくとは限りませんが。。
私の環境では、一見して動作してます。
お礼が遅くなって申し訳ありません。
クリップボード経由でファイル名を送り込むやり方で何とか
できました!ありがとうございましたm( )m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onClickとsubmitの処理順序
-
メールの形で、入力メールを到...
-
javascriptで入力フォームが空...
-
テキスト入力フォームの値を画...
-
条件により、リンク先に画面遷...
-
テキストフィールド入力文字列...
-
入力文字数のチェック
-
過去日付、年の切り替え
-
JSPとJavaScriptの連携について...
-
「何も処理をしない」を実装す...
-
vbsでフォームに値を入力できない
-
Javascriptが機能せず原因が分...
-
フォームの<TEXTAREA>で文字数...
-
テキストボックス入力を半角英...
-
return trueとreturn falseの用...
-
プルダウン選択を変更すると、...
-
【jQuery】input nameの文字列...
-
JavaScriptで特定のtdタグにcla...
-
Selectボックスの幅を自動で広...
-
プルダウン 項目が多いので先頭...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
フォームの値が0だったら空白...
-
javascriptで入力フォームが空...
-
文末の改行コードを削除したい
-
JSPとJavaScriptの連携について...
-
日付入力欄の表示形式を自動的...
-
条件により、リンク先に画面遷...
-
Acrobat Java Scriptについて教...
-
PDFフォームで条件つき金額を表...
-
VBScript
-
テキストボックスを無効にする...
-
イベント発生時に入力待ち状態...
-
ラジオボタンによるフォームの...
-
Webブラウザにてページのりロー...
-
テキストボックス入力を半角英...
-
お願いします!Javascriptで月...
-
入力モード 自動 切り替え
-
strutsのhtmlタグのfileについて
-
JQueryで2つのテキストフィー...
-
onChange()メソッド
おすすめ情報