VB6调用EXCEL问题

用VB6编程,程序中若干个窗体,其中一个窗体有两个按钮CommandA和CommandB,二者均调用了EXCEL进行打印,部分代码如下:PrivateSubCommand... 用VB6编程,程序中若干个窗体,其中一个窗体有两个按钮CommandA和CommandB,二者均调用了EXCEL进行打印,部分代码如下:
Private Sub CommandA_Click()
Dim myExcel As Excel.Application
Dim myBook As Excel.Workbook
Dim mySheet As Excel.Worksheet

'打开Excel,准备生成表格。
Set myExcel = New Excel.Application
Set myBook = myExcel.Workbooks.Add
Set mySheet = myBook.Worksheets(1)

'……(向第一个表填充数据)……

myExcel.Visible = False '不显示打印界面
myExcel.ActiveWorkbook.PrintOut '打印
myExcel.DisplayAlerts = False '不提示是否保存

Set mySheet = Nothing
myBook.Close
Set myBook = Nothing
myExcel.Quit
Set myExcel = Nothing
End Sub

Private Sub CommandB_Click()
Dim myExcel As Excel.Application
Dim myBook As Excel.Workbook
Dim mySheet As Excel.Worksheet

'打开Excel,准备生成表格。
Set myExcel = New Excel.Application
Set myBook = myExcel.Workbooks.Add
Set mySheet = myBook.Worksheets(1)

'……(向第二个表填充数据)……

myExcel.Visible = False '不显示打印界面
myExcel.ActiveWorkbook.PrintOut '打印
myExcel.DisplayAlerts = False '不提示是否保存

Set mySheet = Nothing
myBook.Close
Set myBook = Nothing
myExcel.Quit
Set myExcel = Nothing
End Sub

程序运行后,先点CommandA,正常打印,再点CommandB则出错;如果程序运行后,先点CommandB,也正常打印,再点CommandA则出错。换言之,每次启动程序,先点的正常,后点的就不正常。摸索了很久发现:
当先点了CommandA,正常打印后,打开进程,发现进程里仍有EXCEL.EXE,结束这个进程,再点CommandB还是出错;退出这个窗体,进程里仍有EXCEL.EXE,结束整个程序后,进程里的EXCEL.EXE才消失。
请问各位高手,
1、上面的问题是怎么出现的呢?
2、我的CommandA和CommandB过程的结尾都已经结束了EXCEL,为什么里程里还有呢?
如详答,我追加分数!!
展开
 我来答
Emma_H
2011-06-16 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:110万
展开全部
VB或VBA引用EXCEL经常会出现这个问题,在每次退出前,都要杀死进程,否则下打引用或打开时,就会有异常。
Kill (ExcelFileName)
追问
我是临时打开一个EXCEL,打印完就退,并没保存,能KILL吗?
追答
只要用了excel对象,都必须要关闭。excel.application
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RunnerChin
2011-06-16 · TA获得超过1834个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1586万
展开全部
我试了你的代码,完全没有问题呀没有问题。Hi我聊,帮你看下你的电脑
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式