我相信我的问题很简单:我有一个工作簿,我用它来从另一个软件(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
先感谢您。
您不需要多个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"。