
下記のコードによりファイルパスを入力したいのですが、思ったとおりに動いてくれません(環境は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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onClickとsubmitの処理順序
-
フォームから入力すると、入力...
-
テキストボックスを無効にする...
-
テキストフォームの入力誘導
-
入力フォーム内の字数制限
-
入力した文字を大文字に変換し...
-
日付入力欄の表示形式を自動的...
-
slickのレスポンシブ > center...
-
ツリービューのチェックボック...
-
VB.NET DateTimeの型について
-
プルダウン 項目が多いので先頭...
-
confirmのOK・キャンセルを押し...
-
return trueとreturn falseの用...
-
iframe内のformをサブミットす...
-
<input>の選択肢をプルダウンメ...
-
javascriptで<table>背景色の取得
-
クリックでテーブル内の背景色...
-
別ウィンドウへのsubmitの挙動...
-
submitするとなぜか2度実行する
-
ASP.NETでNAME属性を固定にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
条件により、リンク先に画面遷...
-
JSPとJavaScriptの連携について...
-
Webブラウザにてページのりロー...
-
日付入力欄の表示形式を自動的...
-
javascriptで入力フォームが空...
-
フォームの値が0だったら空白...
-
メールフォームの入力確認(チ...
-
txtbox「確認用メール」へのペ...
-
JavaScriptを使って、整合する方法
-
イベント発生時に入力待ち状態...
-
Javascriptで同じ数字を2回打...
-
javascriptの勉強中です
-
テキストボックス入力を半角英...
-
入力欄の消去方
-
vbsでフォームに値を入力できない
-
文末の改行コードを削除したい
-
フォームの表示が消えてしまう...
-
フォームから入力すると、入力...
-
Javascriptが機能せず原因が分...
おすすめ情報