下記のコードによりファイルパスを入力したいのですが、思ったとおりに動いてくれません(環境は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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPとJavaScriptの連携について...
-
テキストボックス入力を半角英...
-
onClickとsubmitの処理順序
-
文末の改行コードを削除したい
-
テキストボックスを無効にする...
-
一定時間submitがないとき自動...
-
javascript クリックすると、あ...
-
<JavaScript>tableタグを入力不...
-
送信フォームで送信ボタンをお...
-
特定<table>内の<td>の色を変える
-
VBScriptでHTMLのセレクトボッ...
-
onchangeイベントを強制的に発...
-
value内に変数を入れたい
-
onClick="this.form.submit
-
チェックボックス付きのテーブ...
-
ファイル選択と同時にアップロ...
-
return trueとreturn falseの用...
-
tableの任意行にfocusをあてる
-
onclickで2個指定するには?
-
テーブルにおける行(セルにプル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
文末の改行コードを削除したい
-
JSPとJavaScriptの連携について...
-
テキストボックスを無効にする...
-
javascriptで入力フォームが空...
-
フォームの値が0だったら空白...
-
テキストボックス入力を半角英...
-
PDFフォームで条件つき金額を表...
-
strutsのhtmlタグのfileについて
-
条件により、リンク先に画面遷...
-
vbsでフォームに値を入力できない
-
イベント発生時に入力待ち状態...
-
日付入力欄の表示形式を自動的...
-
VBScript
-
javascriptのゲームで漢字を出...
-
JQueryで2つのテキストフィー...
-
javascriptでのフォーム自動入...
-
手書き入力モードを利用して、...
-
入力モード 自動 切り替え
-
Javascriptが機能せず原因が分...
おすすめ情報