如何从另一个Excel实例引用工作簿

时间:2018-07-16 16:14:59

标签: excel vba excel-vba object instance

我相信我的问题很简单:我有一本工作簿,正在使用它从另一个软件(SAP)中获取一些数据。当我从软件中导出数据时,它会自动打开一个.xlsx文件,然后我需要做的是从该文件中复制一些数据,粘贴到我的原始工作簿上,然后关闭该文件。我的代码中给我错误的部分是这个:

fileName = "temp1.xlsx"
Set wbBasis = Workbooks(fileName)

之所以会这样,是因为SAP软件打开的“ temp1.xlsx”文件在另一个excel实例中,所以我的代码找不到它。

我基本上需要知道的是这个。如何在原始代码中正确引用此“ temp1.xlsx”工作簿,以便能够对其进行编辑,从中复制内容,将其关闭等。

我发现了一些与我的问题类似的主题,例如我在此处列出的两个主题,但是无法根据我的情况调整解决方案,这就是为什么我发布了这个新主题。

Having multiple excel instances launched, how can I get the Application Object for all of them?

Finding a workbook in one of multiple Excel instances

谢谢。

1 个答案:

答案 0 :(得分:2)

不需要需要多个Excel实例,并且您不需要打开Excel文件即可通过VBA从中获取信息,甚至使用常规的“链接公式”。

例如:

=SUM([C:\yourPath\Filename.xlsx]SheetName!A1:C25)

...返回位于A1:C25的Excel文件中名为Sheetname的工作表上的单元格之和C:\yourPath\Filename.xlsx

或者您可以直接使用Get External Data导入所有数据。


请参阅:

...有关更多信息和示例,请在Google上搜索"get data from another Excel workbook"