|
どうも、しばらく放置していました。すいません。 ファイルダイアログの自動操作ですが、EXCELVBAからVbscriptを起動することでファィルパスの入力と開くボタンクリックを実現することができました。 ''ファイルダイアログ表示待ちの為に待機 WScript.sleep(5000) Set ObjExcel = WScript.CreateObject("Excel.Application") ''ファイルダイアログのハンドラ取得 DialogHnd = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowA"", ""JCC"", ""#32770"", """ & ファイルダイアログのタイトル & """)" ) ''ファイルダイアログの各入力項目のハンドラ取得 EditHnd1 = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowExA"", ""JJJCC"", " & DialogHnd & "," & 0 & ",""ComboBoxEx32""," & vbNullString & ")") EditHnd2 = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowExA"", ""JJJCC"", " & EditHnd1 & "," & 0 & ",""ComboBox""," & vbNullString & ")") EditHnd3 = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowExA"", ""JJJCC"", " & EditHnd2 & "," & 0 & ",""Edit""," & vbNullString & ")") ''ファイルパスを入力項目にセット ret = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""SendMessageA"", ""JJJJC"", " & EditHnd3 & "," & &HC & "," & 0 & ",""" & ファイルパス & """)") ''開くボタンのハンドラ取得 BtnHnd = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""FindWindowExA"", ""JJJCC"", " & DialogHnd & "," & 0 & ",""Button"",""開く(&O)"")") ''開くボタンのコントロールID取得 CtrID = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""GetDlgCtrlID"", ""JJ""," & BtnHnd & ")") ''開くボタンをクリック ret = ObjExcel.ExecuteExcel4Macro("CALL(""user32"", ""SendMessageA"", ""JJJJC"", " & DialogHnd & "," & &H111 & "," & CtrID & ",""" & BtnHnd & """)") ObjExcel.Quit Set ObjExcel = nothing WScript.Quit 以上の処理をファイルダイアログが表示されている間に実行することでファイルパス入力と開くボタンクリックに成功し、Web画面のテキストにもファイルパスが表示されました。 ただ、この後にsubmitボタンクリックでファイルアップロードを実行しても、「-2147352319 オートメーション エラーです。」となったり、ファイルアップロードが実行されないという現象が発生しました。 これに関しては別途質問を投げることとします。 どうもお世話をかけました。 |
↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^
ExcelのVBA初心者入門↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^
こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。
こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。
こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。
こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。
こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。