VBではなくVBAにて、IEの「ファイルのダウンロード」ダイアログを制御したいと思い、過去の同様の質問等を参考に下記のソースを作成して動かしてみましたが、「ファイルのダウンロード」画面で、「保存(S)」ボタンのハンドルを取得するところまではできましたが、sendMessageでクリックができず、次に進むことが出来ませんでした。
手動で「保存(S)」ボタンを押下して、強制的に「名前を付けて保存」画面に遷移させた後プログラムを再開すると、同画面の「保存(S)」ボタンのクリックはできました。
同じロジックで「名前を付けて保存」画面の「保存(S)」は動くのに、「ファイルのダウンロード」画面の「保存(S)」が動かないのはなぜでしょうか。
どなたかおわかりになる方がいらっしゃいましたら、ご回答をお願いします。
***使用環境***
OS: XP pro
IE: 6
OFFICE:2002
***以下作成したソース(エラー制御は省略)***
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetDlgCtrlID Lib "user32" (ByVal hwnd As Long) As Long
Private Sub Test()
Dim ret1 As Long
Dim ret2 As Long
Const WM_COMMAND As Long = &H111
ret1 = FindWindow("#32770", "ファイルのダウンロード")
ret2 = FindWindowEx(ret1, 0, "Button", "保存(&S)")
Call SendMessage(ret1, WM_COMMAND, GetDlgCtrlID(ret2), ByVal ret2)
ret1 = FindWindow("#32770", "名前を付けて保存")
ret2 = FindWindowEx(ret1, 0, "Button", "保存(&S)")
Call SendMessage(ret1, WM_COMMAND, GetDlgCtrlID(ret2), ByVal ret2)
End Sub
***以上ソース終わり***
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) excel vba 参照渡しと値渡し 2 2022/04/27 10:45
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
VBA IE ダウンロード ダイアログ制御(名前を付けて保存)
Visual Basic(VBA)
-
ダウンロードダイアログをVBAから操作するには?
Visual Basic(VBA)
-
IE操作時、ファイルのダウンロードボタンの押下
Visual Basic(VBA)
-
-
4
vbaでIEの名前を付けて保存(A)をしたい
Microsoft ASP
-
5
VBA IE操作でダイアログ表示後、ファイルを開くボタンが押下できない
Visual Basic(VBA)
-
6
VBA IE通知バーの制御 バー内のボタン 開く/保存/キャンセルを押す
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Corel Digital Studioの動画をS...
-
コマンドプロンプトでデスクト...
-
webページの特定の部分だけ消し...
-
読み取り専用ファイルを上書き...
-
Excel VBAで作成したマクロをxl...
-
VBAで、強制保存してブックを閉...
-
vb.net webからダウンロードで...
-
EXCEL VBAでカンマ区切りCSVフ...
-
【Excel VBA】自動的にバックア...
-
irvineを利用してVBAからダウン...
-
Excel VBAでほかのアプリケーシ...
-
htmlから取り込んだ を消...
-
MATLABのtxtファイル等の読み込...
-
VBScriptでのSaveAsについて
-
印刷と保存の仕方をVBAマクロの...
-
パワーポイントの自動再生はで...
-
VBA メモ帳の上書き保存がしたい
-
ExcelVBAでデスクトップのPATH...
-
html 保存できない
-
onedriveで同期解除をしたら、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
VBAで、強制保存してブックを閉...
-
Excel VBAで作成したマクロをxl...
-
Corel Digital Studioの動画をS...
-
エクセルで「名前を付けて保存...
-
VBA メモ帳の上書き保存がしたい
-
コマンドプロンプトでデスクト...
-
vbaでIEの名前を付けて保存(A)...
-
VB.NETでEXCELファイルを開き、...
-
VBScriptでのSaveAsについて
-
エクセル:マクロ:保存時に連...
-
Pivot table で集計されたデー...
-
AccessVBAでレポートをPDFで出力
-
VBScriptで日本語が変です
-
ExcelVBAでデスクトップのPATH...
-
htmlから取り込んだ を消...
-
EXCEL/VBA:WORDファイルの上書...
-
AccessVBAでIEを操作、ページ内...
-
webページの特定の部分だけ消し...
おすすめ情報