Итак, я успешно перешел на веб-сайт, нажал кнопку загрузки и успешно щелкнул всплывающее диалоговое окно «Сохранить» и «Открыть» в IE11, чтобы открыть файл .CSV в Excel.
Проблема в том, что если после этого я добавлю хотя бы одну строку кода, за исключением msgbox, файл Excel просто не откроется.
Я пробовал все следующее в Excel VBA безрезультатно:
DoEvents, Application.Wait, Application.Visible = True, Application.ScreenUpdating = True, подпрограмма TimeDelay, использующая таймер,
Application.EnableEvents = True
Set iuiAutoCore = New CUIAutomation
lWindowNum = ieApp.HWND
'Call MsgBox(Hex(lWindowNum))
lWindowNum = FindWindowEx(lWindowNum, 0, "Frame Notification Bar", "")
'Call MsgBox(Hex(lWindowNum))
If lWindowNum = 0 Then: Exit Sub
SetForegroundWindow (lWindowNum)
' Click Save
Set iuiAutoCondition = iuiAutoCore.CreatePropertyCondition(ByVal UIA_NamePropertyId, "Save")
Set iuiButton = iuiAutoCore.ElementFromHandle(ByVal lWindowNum).FindFirst(TreeScope_Subtree, iuiAutoCondition)
Set iuiInvokePattern = iuiButton.GetCurrentPattern(UIA_InvokePatternId)
iuiInvokePattern.Invoke
TimeDelay (1)
' Click Open
Set iuiAutoCondition = iuiAutoCore.CreatePropertyCondition(ByVal UIA_NamePropertyId, "Open")
Set iuiButton = iuiAutoCore.ElementFromHandle(ByVal lWindowNum).FindFirst(TreeScope_Subtree, iuiAutoCondition)
Set iuiInvokePattern = iuiButton.GetCurrentPattern(UIA_InvokePatternId)
iuiInvokePattern.Invoke
' Cannot add any more code after this, otherwise the downloaded Excel spreadsheet will not open
Я ожидаю, что в диалоговом окне загрузки IE11 "Сохранить" и "Открыть" будет нажата кнопка, а в Excel будет открыт файл .CSV, что и происходит.
Однако после этого я не могу добавить больше строк кода, иначе Excel не откроется.