|
ジャッカルさん objIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByName('csv')(0).Click();"",10);" のClickを小文字のclickに変更することで解決しました。 この部分はjavaScriptの記述になるとのことで、小文字にしないと動作しないとの 指摘を別のサイトで教えてもらい、うまくいきました。 ジャッカルのメッセージ(#2)への返事 > 確か前にも同じような質問があって、VBSか何かで対応したといった内容があったけど、 > どこの質問だったか分からなかった。 > > たぶん結構前だったから過去の方からチェックすると見つかるかも。 > > > EXCEL VBAでホームページ(IE)にファイルをアップさせる記述を書いています。 > > ファイル選択のダイアログのところに直接フルパスでアップするファイル名を入力させたいと考えたいます。 > > objIE.document.getElementsByName("csv")(0).Click > > でクリックできファイル選択ダイアログボックスが開くのですが、その後にVBAに制御が戻って来ないため、色々調べていたところ「VBA IE制御でファイル選択ダイアログにファイルパス入力(62945)」を見つけ、window.setTimeoutを使いVBAに戻ったところで、SendKeys "^v", Trueを実行すればできると分かり、下記のように記述しましたが、かんじんのファイル選択ダイアログボックスが開きません。 > > window.setTimeoutを使う前のobjIE.document.getElementsByName("csv")(0).Click > > では確実にファイル選択ダイアログボックスが開いたので、記述がどこか間違えているのでしょうか? > > 他にダイアログのウィンドウハンドルをFindWindowで取得し、SendMessageでメッセージを送信する方法も見つけたのですが、ダイアログ表示させた後はそもそもVBAに制御が戻って来ないので使えるのか分からず試していません。 > > window.setTimeoutを使う場合の方法を教えていただきたく、よろしくお願いします。 > > > > <関連場所のスクリプト記述> > > objIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByName('csv')(0).Click();"",10);" > > '1秒待機 > > Sleep (1000) > > > > <試した記述と結果> > > 記述を変えてファイル選択ダイアログボックスが開くかどうか試した結果は下記です。 > > 解決のヒントになりませんでしょうか? > > @objIE.document.getElementsByName("csv")(0).Click ・・・・ 正常に開いた > > AobjIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByName('csv')(0).Click();"",10);" ・・・ 開かない > > BobjIE.document.forms("form1").csv.Click ・・・・ 正常に開いた > > CobjIE.document.parentWindow.execScript "window.setTimeout(""document.forms('form1').csv.Click();"",10);" ・・・・ 開かない > > DobjIE.document.getElementsByTagName("csv")(0).Click ・・・・ 実行時エラー91 > > EobjIE.document.parentWindow.execScript "window.setTimeout(""document.getElementsByTagName('csv')(0).Click();"",10);" ・・・・ 開かない |
↑エクセル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で役に立つものばかりですので、ご利用ください。