前提・実現したいこと
社内の基幹システム(IEで動作)へのデータアップロードの手間を省きたく
VBAからIE操作をして自動化をしたいと思っています。
ファイル選択からローカルのデータを選び、その後アップロードボタンを押す事で
基幹システムにデータが貼り付く仕様です。
VBAのコードでファイル選択まではできたのですが
その後アップロードボタンを押してもデータが貼りつかず
にっちもさっちもいかず質問させていただきました。
質問事項
・コード上間違っている点があればご指摘ください。
・そもそも実現の可否やコードの考え方など間違っていればご指摘ください。
情報不足は都度補足にて追加させてください。
よろしくお願いいたします。
該当のHTMLコード
<input name="" onclick="submitPage('upload');" type="button" value="アップロード" />
該当のVBAソースコード
For each Button In objIT.ducument.getElementsByTagName("input") IF InStr(Button.outerHTML,"アップロード") > 0 Then Button.Click 以降処理待ちのコード
試したこと
Button.Clickの部分をexecScriptに書き換えてやってみましたが、対象のボタンはクリックできていないようで
反応がありませんでした。
そこから手動でアップロードボタンを押してもデータの貼り付けができず
一度前の画面に戻り(ブラウザの戻るボタン)、手動でファイル選択→アップロードボタンをクリックすると
データの貼り付けができました。
上記execScriptに変えたコードは以下です。おそらくDOM操作が間違っているのだと思っています。
objIE.document.parentWindow.execScript "window.setTimeout(""Button(0).click();"",10)"
補足情報(FW/ツールのバージョンなど)
VBEの参照設定は以下です。
Visual Basic for Application
Microsoft Excel 16.0 Object Library
OLE Automation
Microsoft Office 16.0 Object Library
Microsoft HTML Object Liibrary
Microsoft Internet Controls
Microsoft Forms 2.0 Object Library
IEのバージョンはwindows10 バージョン1909
IEのサポートは切れていますが、当基幹システムのみ未だIEのみ対応の状況です。
あなたの回答
tips
プレビュー