
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,为什么里程里还有呢?
如详答,我追加分数!! 展开
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,为什么里程里还有呢?
如详答,我追加分数!! 展开
2个回答
展开全部
VB或VBA引用EXCEL经常会出现这个问题,在每次退出前,都要杀死进程,否则下打引用或打开时,就会有异常。
Kill (ExcelFileName)
Kill (ExcelFileName)
追问
我是临时打开一个EXCEL,打印完就退,并没保存,能KILL吗?
追答
只要用了excel对象,都必须要关闭。excel.application
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我试了你的代码,完全没有问题呀没有问题。Hi我聊,帮你看下你的电脑
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询