打开外部工作簿

我的VBA Excel程序没有问题。 我试图用Application.Workbooks.Open()函数打开外部工作簿。 外部工作簿的文件名来自CommonDialog。 当我用对话框select文件并让程序加载工作簿时,出于某种原因,Excel首先加载该文件的某种副本,然后加载它所需的文件。 这导致Excel开始抱怨没有足够资源的问题。 我试图用简单的string给外部工作簿的文件名,当使用这种方式时,Excel只加载我想要加载的文件。

这里是代码:

CommonDialog1.Filter = "Excel-taulukot (*.xlsx)|*.xlsx" CommonDialog1.ShowOpen Dim externalWorkbook As Excel.Workbook 'This one seems to load copy and the file' Set externalWorkbook = Application.Workbooks.Open(CommonDialog1.Filename, , True) 'This one works, but I need it to be little less hardcoded' 'Set externalWorkbook = Application.Workbooks.Open("<pathtofile>", , True)' Set externalSheet = externalWorkbook.Worksheets(1) 

xlsx格式是一种压缩格式,很可能您所看到的是对临时文件进行解压缩以进行加载。 你确定当你对代码进行硬编码的时候,你在debugging中没有看到它做同样的事情吗?

我已经解决了这个问题。 出于某种原因,在对话框中禁用预览窗口停止Excel以加载文件的副本。 现在它的工作就是我想要的。