excel - 如何在不提示输入目标的情况下打开 IQY 文件?

标签 excel vba

我正在自动化一个过程,我打开几个 IQY 文件并将它们粘贴到 excel 中的主工作表中。目前该过程是手动的。

我可以使用 VBA 打开文件,例如:

set sourcebook = workbooks.open("C:\Metrics\sourceFile.iqy")

我已将通知设置为 false,我已将 displayAlerts 设置为 false,两者都不会阻止导入数据用户表单的提示。我根本没有更改设置,它当前设置为在新工作簿中输出表格中的数据,这很好。我只想从流程中删除那个决定/点击,所以我所要做的就是运行宏,然后所有新数据都在我的主表中。

是否有 .open 方法的修饰符允许我预先确定诸如将数据放入新工作簿的表中之类的事情?

我考虑过将 IQY 文件添加为数据源,但我必须将此文件发送/共享给许多其他不会使用这些文件的用户,而且我对添加数据源也不完全熟悉/老实说。

最佳答案

请参阅此链接中的“使用动态 Web 查询”部分 https://msdn.microsoft.com/en-us/library/office/aa203721(v=office.11).aspx

这对我有用:

Sub Finder_Get_Query()
    'Edit path to .iqy file, if necessary.
    IQYFile = "C:\Program Files\Microsoft Office\OFFICE11\" & _
       "QUERIES\MSN MoneyCentral Investor Currency Rates.iqy"
    With ActiveSheet.QueryTables.Add(Connection:= _
       "FINDER;" & IQYFile, Destination:=Range("A1"))

        .BackgroundQuery = True
        .TablesOnlyFromHTML = True
        .Refresh BackgroundQuery:=False
        .SaveData = True
    End With
End Sub

关于excel - 如何在不提示输入目标的情况下打开 IQY 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221618/

相关文章:

excel - 向 IF 条件添加 OR

excel - 如何使用Excel正确读取带有点分隔符的小数?

excel - 删除后识别为空 "Range"

vba - 无论字符串中的哪个位置都删除空格

vba - Excel VBA : Add a scatter chart to worksheet as object

excel - 通过VBA修改Word文档中嵌入的Excel工作簿

r - IF 语句构造

excel - VBA:如何使用对象浏览器?

vba - 另存为 VBA Excel

vba - 如何在宏中实现文档?