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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ダウンロードダイアログをVBAから操作するには?
Visual Basic(VBA)
-
VBA IE ダウンロード ダイアログ制御(名前を付けて保存)
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でほかのアプリケーシ...
-
読み取り専用ファイルを上書き...
-
VBAで、強制保存してブックを閉...
-
VBA メモ帳の上書き保存がしたい
-
ExcelVBAでデスクトップのPATH...
-
エクセルで「名前を付けて保存...
-
VB.NETでEXCELファイルを開き、...
-
VBScriptでのSaveAsについて
-
JSPで作成したページをそのまま...
-
IEのダウンロードファイル保存...
-
Corel Digital Studioの動画をS...
-
意味不明のタグが挿入されてい...
-
CrescentEve書き込みモード解除...
-
保存した雛形メールを開くと、...
-
エクセルのマクロについて教え...
-
Excel VBAで作成したマクロをxl...
-
pythonのプログラムを実行した...
-
VBScriptで日本語が変です
-
onedriveで同期解除をしたら、...
-
vlan internal allocation poli...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
読み取り専用ファイルを上書き...
-
Excel VBAでほかのアプリケーシ...
-
VBAで、強制保存してブックを閉...
-
vbaでIEの名前を付けて保存(A)...
-
Excel VBAで作成したマクロをxl...
-
Pivot table で集計されたデー...
-
エクセルで「名前を付けて保存...
-
VBA メモ帳の上書き保存がしたい
-
VB.NETでEXCELファイルを開き、...
-
コマンドプロンプトでデスクト...
-
VBScriptで日本語が変です
-
VBScriptでのSaveAsについて
-
AccessVBAでレポートをPDFで出力
-
Corel Digital Studioの動画をS...
-
.NETアプリでパスワード等入力...
-
タイトルバーやメニューバーの...
-
エクセル:マクロ:保存時に連...
-
VB6.0でエクセル保存する時の保...
-
Word2000の差込印刷を繰り返し...
-
【Excel VBA】自動的にバックア...
おすすめ情報