
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで、強制保存してブックを閉...
-
Pivot table で集計されたデー...
-
Excel VBAで作成したマクロをxl...
-
ファイル投稿プログラム
-
コマンドプロンプトでデスクト...
-
ExcelVBAでデスクトップのPATH...
-
読み取り専用ファイルを上書き...
-
オンラインエディタ JS Bin
-
エクセル:マクロ:保存時に連...
-
エクセルでファイルの最終更新...
-
【VC++】CDC→WMFファイルに保存...
-
vlan internal allocation poli...
-
「隠しファイル・フォルダを別...
-
入力/出力エラーですというファ...
-
沢山のフォルダにあるファイル...
-
teratarmでコマンド入力すると...
-
ウィルスバスター入れたら共有...
-
共有しているファイルを削除し...
-
WindowsからSSHでサーバーにあ...
-
TXTファイルを上書き保存する前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで、強制保存してブックを閉...
-
Excel VBAでほかのアプリケーシ...
-
Excel VBAで作成したマクロをxl...
-
エクセルでファイルの最終更新...
-
読み取り専用ファイルを上書き...
-
Pivot table で集計されたデー...
-
エクセルで「名前を付けて保存...
-
VBAでPDF作成をしたあと、指定...
-
VB.NETでEXCELファイルを開き、...
-
VBA メモ帳の上書き保存がしたい
-
別名で保存し、元の名前で中身...
-
【VC++】CDC→WMFファイルに保存...
-
意味不明のタグが挿入されてい...
-
至急教えてください!プログラ...
-
VBSでHPを保存するにはど...
-
リスト構造
-
プログラムについて
-
ファイルのアップロード
-
エクセル:マクロ:保存時に連...
-
度々すみません。(動画縦横変...
おすすめ情報