选择工作表与多个工作簿打开crahses

时间:2016-11-03 21:31:24

标签: excel vb.net

如果我只创建一个工作簿,则以下工作正常

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")

但是两个打开,我得到一个错误。 Interop错误不是很容易调试的。

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:0x800A03EC使用excel 2013.一个谷歌的错误显示了很多人有不同的问题据我所知。

1 个答案:

答案 0 :(得分:2)

.Select()仅适用于活动工作簿。选择前wb_main.Activate()将解决问题。

第二个工作簿是活动的。使用直接分配的变量对工作簿进行编辑不会更改活动工作簿。