如果我只创建一个工作簿,则以下工作正常
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.一个谷歌的错误显示了很多人有不同的问题据我所知。
答案 0 :(得分:2)
.Select()
仅适用于活动工作簿。选择前wb_main.Activate()
将解决问题。
第二个工作簿是活动的。使用直接分配的变量对工作簿进行编辑不会更改活动工作簿。