「input type=file 」のファイルダイアログの開き方について
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
Message#1 2015年4月10日(金)19時15分 From: DSC_渡辺 | 返事 削除 変更 |
EXCELVBAでweb画面を操作し、「input type=file name="XXX"」の参照ボタンをクリックしてファイルダイアログを開いています。(IEバージョンは10) Set ObjIE = CreateObject("InternetExplorer.Application") ObjIE.Visible = True ObjIE.Navigate web画面のURL ObjIE.document.forms("フォーム名").Item("XXX").Click ファイルダイアログにファイルパスを入力してから開くボタンを押下してファイルダイアログを閉じ、submitボタンをクリックしてファイルアップロードを実行しようとしたところ、「-2147352319 オートメーション エラーです。」とのエラーになってしまいました。 色々と調べたところ、 「click()で開かれたダイアログ上にファイルパスを手動入力しても,formをsubmitするタイミングで,入力したはずのファイルパスが不正値として消去されてしまい,送信できない。」という記述をネットで見つけました。 Clickによってファイルダイアログを開いても正常に動作しないということでしょうか? もし、そうならば、他に対処方法はないでしょうか? ちなみに、「Sendkey」による操作も試しましたが、こちらではファイルダイアログを開くことができませんでした。 Set wObject = CreateObject("WScript.Shell") For Each objElement In ObjIE.document.getElementsByTagName("input") If InStr(objElement.Name, "XXX") > 0 Then objElement.Focus objElement.Select Sleep(1000) ' その右隣にある「参照」ボタンに、WSを使ってフォーカス wObject.SendKeys ("{TAB}") Sleep(1000) ' SPACEキー押下で,ファイル参照ダイアログを開く wObject.SendKeys (" ") DoEvents Exit For End If Next |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降