
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ランキング
-
ユーチューブの保存方法を教え...
-
Googleの履歴などについて。 Go...
-
画像、イラストの著作権につい...
-
IE9のダウンロード通知バーで名...
-
wshからexcel操作で,ChDirを使...
-
internet explorerの画像保存...
-
photoshopで保存先が記憶されま...
-
エクセルで、請求書を作るとき...
-
ダウンロードすると画像サイズ...
-
LISMO(リスモ)に取り込...
-
Mac版Firefoxのアドオンデータ...
-
インターネットエクスプローラ...
-
コクヨのフリーソフト、合わせ...
-
Leawo Blu-ray Playerをダウン...
-
CANBEをWIN98にしてもTVが...
-
Sleipnirの旧バージョンをダウ...
-
ダウンロードファイルを自動解...
-
フォルダパスと実際のフォルダ...
-
数ページにわたるエロマンガを...
-
Chrome でPDF等をダウンロード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダウンロードすると画像サイズ...
-
PhotoshopCS5でWeb用に保存のア...
-
google chrome ブックマークの...
-
Firefoxテーマの保存先について
-
ホームページ・ビルダーのデー...
-
WEBページの全てを保存させない...
-
ブックマークの違法性。
-
クロームの、パスワードの保存...
-
パソコンChromeでブックマーク...
-
あの Spotifyの曲を USBに保存...
-
firefoxにて
-
Firefoxで画像を保存する良いア...
-
Firefox3のダウンロード窓がお...
-
名前を付けて保存
-
LISMO(リスモ)に取り込...
-
OperaとFirefoxのブックマーク...
-
wshからexcel操作で,ChDirを使...
-
fire fox3に変えてから画像の保...
-
互換モードで開いた文書の保存先
-
紹介していただいたソフトを入...
おすすめ情報