Я использую VBA для автоматизации некоторых операций на сайте.Более того, мой браузер IE11.
Я знаю, что если я хочу нажать «Сохранить» на панели уведомлений кадра, я могу использовать следующий фрагмент кода:
Dim o as IUIAutomation
Set o = New CUIAutomation
Dim h as Long
h = ie.hwnd
Dim ie as InternetExplorer
ie = CreateObject("InternetExplorer.Application")
h = FindWindowEx(h, 0, "Frame Notification Bar", vbNullString)
Dim e as IUIAutomationElement
Set e = o.ElementFromHandle(ByVal h)
Dim iCnd As IUIAutomationCondition
Set iCnd = o.CreatePropertyCondition(UIA_NamePropertyId, "Save")
Dim Button As IUIAutomationElement
Set Button = e.FindFirst(TreeScope_Subtree, iCnd)
Dim InvokePattern As IUIAutomationInvokePattern
Set InvokePattern = Button.GetCurrentPattern(UIA_InvokePatternId)
InvokePattern.Invoke
Аналогично, если яхочу нажать кнопку «Открыть». Я могу заменить слово «Сохранить» в приведенном выше коде словом «Открыть».
М проблема в том, что после нажатия кнопки «Сохранить» у меня есть еще 3 варианта, чтобы нажать: «Открыть», «Открыть папку», «Просмотр загрузок».Я также могу закрыть панель уведомлений кадра, нажав кнопку в правом углу панели уведомлений кадра.Это видно ниже:
Мой вопрос: как я могу нажать эту кнопку, используя VBA?