使用vba中的IQY文件禁用导入数据提示

我正在自动化一个进程,在其中打开几个IQY文件并将其粘贴到Excel工作表中。 目前这个过程是手动的。

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

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

我已经将通知设置为false,我将displayAlerts设置为false,既不阻止提示导入数据用户窗体。 我根本不改变这些设置,它现在被设置为在一个新的工作簿的表格中输出数据,这很好。 我只是想从stream程中删除这个决定/点击,所以我要做的就是运行macros,然后所有的新数据都在我的主表中。

.open方法中是否有修饰符,可以让我预先确定将数据放在新工作簿中的表中?

我已经考虑添加IQY文件作为数据源,但我必须发送/共享这个文件给许多其他用户,这些文件没有用,而且我不完全熟悉添加数据源/连接诚实。

TL; DR:打开IQY文件,而不必通过VBAmacros指定细节。

如果有人可以解决这个问题,我会非常感激! 整个上午我一直在拉我的头发!

请参阅此链接中的“使用dynamicWeb查询”一节https://msdn.microsoft.com/zh-cn/library/office/aa203721(v=office.11​​).aspx

这适用于我:使用dynamicWeb查询

 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