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ランキング
-
【Excel VBA】自動的にバックア...
-
Excel VBAでほかのアプリケーシ...
-
MPLABのソースファイルが保存で...
-
読み取り専用ファイルを上書き...
-
タイトルバーやメニューバーの...
-
VB.NETでEXCELファイルを開き、...
-
VBSでWordの文字色変え
-
IEのダウンロードファイル保存...
-
Corel Digital Studioの動画をS...
-
onedriveで同期解除をしたら、...
-
論文に載せるグラフを作成したい
-
Windowsファイルエクスプローラ...
-
壁紙・スクリーンセーバーの削...
-
共有しているファイルを削除し...
-
USBデータの消失
-
ファイルの保存をOnedriveのク...
-
ごみ箱から元に戻したファイル...
-
大量のファイルの中から壊れた...
-
USBメモリにフォルダをコピーす...
-
ls であるファイル以外を表示し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
Corel Digital Studioの動画をS...
-
コマンドプロンプトでデスクト...
-
Excel VBAで作成したマクロをxl...
-
エクセルで「名前を付けて保存...
-
ExcelVBAでデスクトップのPATH...
-
VBA メモ帳の上書き保存がしたい
-
VBAで、強制保存してブックを閉...
-
irvineを利用してVBAからダウン...
-
VBScriptでのSaveAsについて
-
webページの特定の部分だけ消し...
-
VBScriptで日本語が変です
-
Pivot table で集計されたデー...
-
AccessVBAでレポートをPDFで出力
-
vbaでIEの名前を付けて保存(A)...
-
エクセル:マクロ:保存時に連...
-
ファイルのダウンロード保存先...
-
htmlから取り込んだ を消...
-
印刷と保存の仕方をVBAマクロの...
おすすめ情報