A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
確かXPのSPの状況によって、ダウンロードダイアログの出方が異なったと思います。
さらにOS別を考慮すると、さらにパターンが増えます。
個別のSendKeysパターンを網羅するプログラムを組むか、WM_COMMANDでOKボタンを押させる必要があると思います。
http://okwave.jp/kotaeru.php3?q=199357
この回答への補足
ご回答ありがとうございます。
対象OSは限定ですので(XP SP2)
やれるならsendkeysでやろうと思っています。
sendkeysを送るタイミングも不明で、
busyを検知しておけばいいかと思ったら、
ダウンロードダイアログが表示してる間はbusyの
ようで状況把握を何のプロパティで確認すれば
よいかわかりません。
No.2
- 回答日時:
>やれるならsendkeysでやろうと思っています。
個人的には、このメソッドは嫌いですが、sendkeysでやることに反対はしません。
徹夜サポで暇してます。
ここを参考にやってみました。
http://okwave.jp/kotaeru.php3?q=894824
sendkeysは使用しておりませんが、もし使用する場合にも参考になるかと思います^^
Option Explicit
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 Const WM_COMMAND As Long = &H111
Private Const CLASSNAME_ダイアログ As String = "#32770"
Private Const CLASSNAME_ボタン As String = "Button"
Private Sub Test()
Const STEP1_TITLE As String = "ファイルのダウンロード"
Const STEP2_TITLE As String = "名前を付けて保存"
Dim l_lngWnd_Window_Step1 As Long
Dim l_lngWnd_Window_Step2 As Long
'step1
If Not FindDialog(STEP1_TITLE, l_lngWnd_Window_Step1) Then
Exit Sub
End If
Call PushSaveBtn(l_lngWnd_Window_Step1)
'step2
If Not FindDialog(STEP2_TITLE, l_lngWnd_Window_Step2) Then
Exit Sub
End If
Call PushSaveBtn(l_lngWnd_Window_Step2)
End Sub
'ダイアログを探す
Private Function FindDialog(ByVal p_strCaption As String, ByRef p_lngFindWnd As Long) As Boolean
p_lngFindWnd = 0
Do
DoEvents
' If Not IEがBUSY Then
' Exit Do
' End If
p_lngFindWnd = FindWindow(CLASSNAME_ダイアログ, p_strCaption)
Loop While p_lngFindWnd = 0
FindDialog = p_lngFindWnd <> 0
End Function
'ボタンを押す
Private Sub PushSaveBtn(ByVal p_lngWindowWnd As Long, Optional p_strBtnCaption As String = "保存(&S)")
Dim l_lngWnd_Save As Long
l_lngWnd_Save = FindWindowEx(p_lngWindowWnd, 0, CLASSNAME_ボタン, p_strBtnCaption)
Call SendMessage(p_lngWindowWnd, WM_COMMAND, GetDlgCtrlID(l_lngWnd_Save), ByVal l_lngWnd_Save)
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBA IE ダウンロード ダイアログ制御(名前を付けて保存)
Visual Basic(VBA)
-
vbaでIEの名前を付けて保存(A)をしたい
Microsoft ASP
-
VBA IE操作でダイアログ表示後、ファイルを開くボタンが押下できない
Visual Basic(VBA)
-
-
4
IE操作時、ファイルのダウンロードボタンの押下
Visual Basic(VBA)
-
5
IEのダウンロード通知バーのVBA制御(保存他)
Visual Basic(VBA)
-
6
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
7
VBA IE通知バーの制御 バー内のボタン 開く/保存/キャンセルを押す
Visual Basic(VBA)
-
8
ExcelVBAでリンク先の対象のファイルを保存
Visual Basic(VBA)
-
9
Alt+P,Alt+NをPostmessageで送るには
Visual Basic(VBA)
-
10
Excelのマクロを実行中に、ダウンロード中のダイアログが表示されます。キャンセルを押下すると動くの
Excel(エクセル)
-
11
VBAでBook読み込み時の非表示方法は??
Visual Basic(VBA)
-
12
【sendkeysメソッドが動かずに苦慮しております】
Visual Basic(VBA)
-
13
VBA URLDownloadToFileについて
Visual Basic(VBA)
-
14
VBAでIEを操作、ポップアップされた画面の処理(Enter)を行いたい
Visual Basic(VBA)
-
15
(UWSC) 「#32770」の意味わかりますか?
その他(プログラミング・Web制作)
-
16
Excel VBA で外部アプリケーションのコンテキストメニューを操作したい
その他(プログラミング・Web制作)
-
17
「ファイルのダウンロード」のダイアログが表示しない
Windows Vista・XP
-
18
ExcelVBAでAPIを使って外部ウインドウのエディットテキストを取得する方法
Visual Basic(VBA)
-
19
VBA ログイン後csvファイルをダウンロードする
Excel(エクセル)
-
20
VBAでIEのファイルを自動的にダウンロードしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
VBA CommandButtonの文字ずれ
-
リストボックス 何も洗濯され...
-
アセンブリコードの表示
-
セルをマクロのボタンにしたい。
-
[VB.NET]3つ以上のフォームを一...
-
VBAで多数のプログラムを一つの...
-
プロシージャからイベントをコ...
-
VBS でユーザーからいくつかの...
-
ボタン(コントロール)を丸くしたい
-
角の丸いボタン作成について質...
-
CheckBox1による選択 VBA
-
チェックボックスで指定出来る...
-
C#で動的に作ったtextboxを消す。
-
vb.net タイマーに引数を渡す
-
BorlandC++Builderでのタイマー...
-
ユーザフォーム AfterUpdate処...
-
[Excel VBA]コマンドボタンの入...
-
Excel VBA Application.caller...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
フォームの再読み込み
-
アイコンとボタンの違い
-
VBAのボタンの位置が変わって困...
-
閉じると「+」になり開くと「-...
-
Excel VBA Application.caller...
-
Access VBA でデータペーストを...
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
VBAでオプションボタンによって...
-
ボタンをマウスで押し続けたと...
-
[Excel VBA]コマンドボタンの入...
-
VBA IE ダウンロード ダイアロ...
-
プロシージャからイベントをコ...
-
チェックボックスで指定出来る...
-
+ボタンの名称は?
-
VBA でのボタンの移動について
おすすめ情報