IE9のダウンロード通知バーをVBAから制御する方法について、下記のQ&Aでkumatti1さんの解にあるコードでは「保存」をさせる動作となっています。これを「名前に付けて保存」させることはできないでしょうか。よろしくお願いします。
http://okwave.jp/qa/q8121989.html
--------------------------------------------------------------------------------
Option Explicit
'参照設定 UIAutomationClient
'C:\Windows\System32\UIAutomationCore.dll
Private Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As LongPtr, ByVal hWnd2 As LongPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPtr
Sub hoge2()
Const url As String = ""
Dim ie As Object
Set ie = CreateObject("Shell.Application").Windows.findwindowSW(url, Empty, 1, 0, 1)
If ie Is Nothing Then Exit Sub
Dim o As IUIAutomation2
Dim e As IUIAutomationElement
Set o = New CUIAutomation8
Dim h As LongPtr
h = ie.Hwnd
h = FindWindowEx(h, 0, "Frame Notification Bar", vbNullString)
If h = 0 Then Exit Sub
Set e = o.ElementFromHandle(ByVal h)
Dim iCnd As IUIAutomationCondition
Set iCnd = o.CreatePropertyCondition(UIA_NamePropertyId, "保存")
Dim Button As IUIAutomationElement
Set Button = e.FindFirst(TreeScope_Subtree, iCnd)
Dim InvokePattern As IUIAutomationInvokePattern
Set InvokePattern = Button.GetCurrentPattern(UIA_InvokePatternId)
InvokePattern.Invoke
DoEvents
Set iCnd = o.CreatePropertyCondition(UIA_NamePropertyId, "通知バーのテキスト")
Dim iElemFound As IUIAutomationElement
Set iElemFound = e.FindFirst(TreeScope_Subtree, iCnd)
Dim iValuePattern As IUIAutomationValuePattern
Set iValuePattern = iElemFound.GetCurrentPattern(UIA_ValuePatternId)
Do
DoEvents
If iValuePattern.CurrentValue Like "*のダウンロードが完了しました。*" Then
Set iCnd = o.CreatePropertyCondition(UIA_NamePropertyId, "閉じる")
Set iElemFound = e.FindFirst(TreeScope_Subtree, iCnd)
Set InvokePattern = iElemFound.GetCurrentPattern(UIA_InvokePatternId)
InvokePattern.Invoke
Exit Do
End If
Loop
End Sub
--------------------------------------------------------------------------------
No.2
- 回答日時:
状況は分かりましたけど、今の段階では質問ではなくて要望ですよね。
あまりVBAで書く人はいないのでググっても情報が出てこないだけで、.NET界隈ではオーソドックスなテクなので
ご自分で調査して書けないのであれば、有償で受け付けるサイトに頼んでみたらどうでしょうか。
# 私も調べて書くことにかわりないので。
No.1
- 回答日時:
この回答への補足
kumatti1さん、コメントをありがとうございます。
前出のコードには大変驚かされました。
ただ、今回kumatti1さんがコメントされているのは、ieの[ファイル]-[名前を付けて保存(A)]に関する操作ではないでしょうか。
私が必要としているのは、ie9からのファイルダウンロードの際、通知バーに現れる「ファイルを開く(O)」「保存(S)」「キャンセル(C)」の中からSplitButtonの「保存(S)」を開いて、その中の「名前を付けて保存(A)」を選択し、ファイルの保存ダイアログを開き、ファイル名を指定してファイルを指定場所にダウンロードする方法なんです。
引き続き、何卒よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Firefoxテーマの保存先について
-
画像をダウンロードしたい
-
画像、イラストの著作権につい...
-
LISMO(リスモ)に取り込...
-
ダウンロードすると画像サイズ...
-
(WEBページ)「名前を付けて保...
-
サイト保存ソフト
-
Leawo Blu-ray Playerをダウン...
-
パソコン初心者なのですがデス...
-
パソコンが自宅に3台ありお気に...
-
ImgBurnの使い方で質問です
-
1個ずつしかDLできないサイトで...
-
JW Player movieのダウンロード...
-
Windows10 firefoxでファイル...
-
数ページにわたるエロマンガを...
-
Appleセキュリティーアラート
-
サイトアクセス時の初回読み込...
-
リンク先の解像度ごとの画像を...
-
リアルプレーヤー
-
firefox、ブックマークフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダウンロードすると画像サイズ...
-
PhotoshopCS5でWeb用に保存のア...
-
紹介していただいたソフトを入...
-
media player classic 画像キャ...
-
LISMO(リスモ)に取り込...
-
Gom PlayerでCaptureに保存され...
-
WEBページの全てを保存させない...
-
あの Spotifyの曲を USBに保存...
-
google chrome ブックマークの...
-
IE9のダウンロード通知バーで名...
-
ホームページ・ビルダーのデー...
-
【FireFox】リンク先の画像をク...
-
クロームの、パスワードの保存...
-
wshからexcel操作で,ChDirを使...
-
画像、イラストの著作権につい...
-
ブックマークの違法性。
-
macでPDFが別名保存できない
-
Firefoxテーマの保存先について
-
VBAでWEBページをしたい
-
ブラウザについて(保存について)
おすすめ情報