質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

956閲覧

IEでダイアログが表示された状態でボタンを押す処理ができない

VBA-IE

総合スコア16

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2017/06/08 06:52

VBA初心者です。VBAでIEとの連携処理をしようとして困っています。

ホームページでCSVダウンロードボタンを押すと、下記の様なダイアログが表示されます。
<ダイアログ表示>
xxxからyyyを開くか、または保存しますか? ファイルを開く(O) 保存(S) ▼ キャンセル(C)

このダイアログで"ファイルを開く(o)"のボタンを押す処理をしたいのですが、ダイアログが表示された状態でのHTMLドキュメントの要素の読み方が分からないため、どう処理して良いか分かりません。
HTMLドキュメントの要素が読めたら、他と同様getElementsByTagName(tagName)で処理できるのではないかと思っています。
仕方なくSendKeyで処理しようとしましたが、Alt+Oでも、単なるOでも、Ctrl+Oでも、Shift+oのどれも駄目でした。
アドバイスよろしくお願いします。
###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

ここにご自身が実行したソースコードを書いてください

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは

私も同じことで上手くいかず、
下記のUWSCを使用してボタンを押すことに落ち着きました。
http://www.uwsc.info/faq.html#N23

投稿2017/06/27 02:17

manataku

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

VBA-IE

2017/09/14 05:52

時間が経過してしまいましたが、色々調べ最終的にアドバイスいただいたUWSCを使う方法で解決しました。ありがとうございました。
guest

0

こんにちは。

最終目標はファイルを開きたいのでしょうか?
たぶんダイアログ操作は難しいように思います。
Win API使って云々すればできるかもしれませんけど・・・

視点を変えての代替案ですが
机上案ですのでやってみないとわからないですが

下記のIEのキャッシュ先(IE環境によって変わるかも?)にダウンロードされていると思うのでVBAで
「C:\Users\admin\AppData\Local\Microsoft\Windows\INetCache\IE[キャッシュフォルダ名]」の最新時刻のスタンプを持つフォルダの欲しいファイル名を開けば良いように思いますがどうでしょうか?

投稿2017/06/12 07:40

cutedog

総合スコア177

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

VBA-IE

2017/06/13 05:34

回答、提案ありがとうございます。 しかしながら、IEで問題のダイアログを表示したところで、指摘されたキャッシュを探してみましたが、見つかりません。キャッシュのタイムスタンプもその日付のものが見つかりません。 また、ダイアログを表示したあと、BackTabキーを21個送れば、”ファイルを開く(O)”まで行けることが分かったので、SendKeys "+{TAB}", Trueを21個入れてみたのですが無反応で、全くお手上げ状態です。 どうかアドバイスをお願いします。
cutedog

2017/06/13 06:15 編集

あら?でませんか。SendKeys にしてもちょっと実現的ではないですね。 VB6を思い出して、ちょっとググってみたのですが EXCELにもWebBrowserコントロールなるものがあるようです。 これを使用することで実現できそうな感じですよ。ダイアログに関しても記事がチラホラでているようです。 この辺を調査してみると何か実現する手がかりが出てくるかもです。 例えば↓↓↓ https://oshiete.goo.ne.jp/qa/8566164.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問