我在VB中使用以下代码创建并保存工作簿,但是保存的时候为什么有两个工作簿啊?
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlChar As New Excel.Chart
Dim xlSheet As New Excel.Worksheet'Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True '非常关键,Visible表明了excel可见且读写
xlApp.Workbooks.Add
xlApp.Worksheets.Add Before:=Sheets(3)
ActiveSheet.Name = "ca"
ActiveWorkbook.SaveAs "D:\ccc.Xlsx"xlApp.Quit
Set xlApp = Nothing
End
End Sub
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlChar As New Excel.Chart
Dim xlSheet As New Excel.Worksheet'Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True '非常关键,Visible表明了excel可见且读写
xlApp.Workbooks.Add
xlApp.Worksheets.Add Before:=Sheets(3)
ActiveSheet.Name = "ca"
ActiveWorkbook.SaveAs "D:\ccc.Xlsx"xlApp.Quit
Set xlApp = Nothing
End
End Sub
解决方案 »
- 怎么嵌套异常处理
- 请问兄弟门,有把在繁体OS下写的vb6.0程序转为简体OS下的程序的工具么?
- 动态数组没有初始化及使用on error resume next的严重后果
- 请问:inet控件如何在 State 事件中使用 GetChunk 方法获得目录信息!
- 问一个很菜的问题啊,Webbrowser控件在哪下载还是VB本身就有的?
- 如何在VB中将窗体上的BarCodeCtrl1条形码图传到datareport报表中打印出来???
- 如何判断一个Integer型的变量是否为空???
- 错误在哪?
- 关于图形操作的问题(高分)
- 关于时间问题(急)
- FindWindow可以用通配符吗
- 新手请教 用VBA 从网页上获取的英文内容可以直接翻译成中文吗?
而你无论 Excel 是否有实例存在,都新建了一个实例 xlApp。
所以:
A)如果原先没有 Excel 实例,那么默认实例就是 xlApp,ActiveSheet 和 ActiveWorkbook 操作的就是新建的工作簿,即只有1个工作簿。
B)如果原先存在 Excel 实例,那么默认实例就不是 xlApp,ActiveSheet 和 ActiveWorkbook 操作的就是原 Excel 中的工作簿,即至少有2个工作簿。
你不能操作 ActiveSheet、ActiveWorkbook,这有不确定性。
通过 xlApp 下属对象来操作就可以了。
这句的NEW去了