有多个工作簿打开crahses

问题描述:

选择工作表如果我只创建一个工作簿以下工作正常有多个工作簿打开crahses

Dim oXl As New Microsoft.Office.Interop.Excel.Application 
Dim wb_main As Workbook 
wb_main = oXl.Workbooks.Add 
...add sheets and data to sheets 
CType(wb_main.Worksheets(1), Worksheet).Select() 
wb_main.SaveAs(Filename:=_files(0)._file_path.parentDir.parentDir & "out.xlsx") 

但随着两个开放,我得到一个错误。互操作错误不易调试。使用Excel 2013年,一种错误谷歌表示有很多人用不同的问题,据我可以告诉0x800A03EC:

Dim oXl As New Microsoft.Office.Interop.Excel.Application 
Dim wb_main As Workbook 
Dim wb_extended As Workbook 
wb_main = oXl.Workbooks.Add 
wb_extended = oXl.Workbooks.Add 
...add sheets and data to sheets in both workbooks, no particular order 
CType(wb_main.Worksheets(1), Worksheet).Select() 
wb_main.SaveAs(Filename:=_files(0)._file_path.parentDir.parentDir & "out.xlsx") 

我得到一个错误HRESULT。

+0

如果用'DirectCast'和'TryCast'代替'CType(wb_main.Worksheets(1),Worksheet)',那么该怎么办?你使用的是什么框架和64/32位机器和代码编译位数? –

+0

@ T.S。这不会改变任何事情,正如我所料。 – blindguy

+0

事件日志中是否有任何内容,特别是.net运行时? –

.Select()只适用于活动工作簿。选择之前将会解决问题。

打开的第二个工作簿是活动的。通过使用直接分配的变量编辑工作簿不会更改活动工作簿。