gpt4 book ai didi

java - Excel VBA 从下载对话框打开文件

转载 作者:行者123 更新时间:2023-12-02 05:10:34 25 4
gpt4 key购买 nike

此处需要帮助,我正在尝试使用 VBA 与“下载”对话框进行交互。

不幸的是,我无法发布图片,因为我没有所需的声誉。

但这只是一个简单的对话框,只有3个选项。

1) 打开2)另存为3)保存

我想做的是,Excel VBA将直接打开它,而不是window/excel提示对话框。有人知道怎么做吗?尝试过 (SendKeys "{TAB}", True/SendKeys "{ENTER}", True) 但什么也没发生。

最佳答案

你可以尝试这个,因为它在 IE9 上对我有效:

For below showed download

  1. 将文件C:\Windows\System32\UIAutomationCore.dll复制到用户文档,即C:\Users\admin\Documents,然后添加引用UIAutomationClient 到您的宏文件。
  2. 将以下代码粘贴到您的模块中:

        Option Explicit
    Dim ie As InternetExplorer
    Dim h As LongPtr
    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 Download()
    Dim o As IUIAutomation
    Dim e As IUIAutomationElement
    Set o = New CUIAutomation
    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, "Save")

    Dim Button As IUIAutomationElement
    Set Button = e.FindFirst(TreeScope_Subtree, iCnd)
    Dim InvokePattern As IUIAutomationInvokePattern
    Set InvokePattern = Button.GetCurrentPattern(UIA_InvokePatternId)
    InvokePattern.Invoke
    End Sub

请尝试一下。

关于java - Excel VBA 从下载对话框打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27375854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com