
下記のコードによりファイルパスを入力したいのですが、思ったとおりに動いてくれません(環境は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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで、イベントが発生...
-
ASP.NETでNAME属性を固定にしたい
-
return trueとreturn falseの用...
-
画面表示とともに、テーブルの...
-
ハイパーリンクを別ウインドウ...
-
radio選択をクッキーに保存させ...
-
セルをドラッグで選択するときに、
-
チェックボックス付きのテーブ...
-
JavaScriptde途中で、「exit」...
-
Javascriptでのbuttonのname属...
-
ホームページ上での計算につい...
-
プルダウンで選択すると、DBの...
-
マイナスなら赤字で表示したい...
-
特定<table>内の<td>の色を変える
-
HTML、Javascriptでトグルボタ...
-
特定のID(またはクラス)で括ら...
-
どのボタンがクリックされたの...
-
onClickがinput type="image"だ...
-
eval()を使わずに数値を取得し...
-
Mac版IE5でのinnerHTMLの動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件により、リンク先に画面遷...
-
onClickとsubmitの処理順序
-
JSPとJavaScriptの連携について...
-
javascriptで入力フォームが空...
-
日付入力欄の表示形式を自動的...
-
文末の改行コードを削除したい
-
テキストボックス入力を半角英...
-
Webブラウザにてページのりロー...
-
テキストボックスを無効にする...
-
JQueryで2つのテキストフィー...
-
入力モード 自動 切り替え
-
HTMLで入力したものを変数で扱...
-
フォームの<TEXTAREA>で文字数...
-
PDFフォームで条件つき金額を表...
-
数字の1文字目を消したい
-
イベント発生時に入力待ち状態...
-
入力した文字を大文字に変換し...
-
submit後、同じ入力欄に戻らせ...
-
フォームから入力すると、入力...
-
onChangeの使い方について教え...
おすすめ情報