VB操作EXCEL,进程无法关闭
Private Sub Form_Load()
Set ExiD = CreateObject("Excel.Application")
ExiD.Visible = True
ExiD.Workbooks.Open (App.Path & "\liber.xls")
ExiD.Workbooks.Close
ExiD.Quit
Set ExiD = Nothing
End Sub
以上代码运行完毕进程里面会有EXCEL.EXE的进程,关闭不了,求解答
[解决办法]
ExiD.Workbooks.RunAutoMacros (xlAutoClose) ‘执行EXCEL关闭宏
ExiD.Workbooks.Close (True)
ExiD.Quit
这样试试.
[解决办法]
我把你的代码运行一下试试没发现“……运行完毕进程里面会有EXCEL.EXE的进程,关闭不了”这个问题啊!
[解决办法]
关闭程序的 时候ExiD.Quit
[解决办法]
如果你的代码就这几句,那么可以肯定你的代码没有问题,最大的可能性是中了宏病毒,打开表格,看看里面是否有宏代码
[解决办法]
没看到全部代码,很难下结论。如果你的代码不方便贴上来,哪只能给你点建议,你代码中其它地方还有创建excel对象的语句,你的ExiD看样子应该是个公有变量,就应更注意这种情况的发生,只要保证创建和释放成对出现,就没有问题,还有一点,既然你家里电脑运行没问题,那你真的应该检查下公司的运行环境,xls中的宏是可以阻止Excel退出的,宏也可以新创建excel对象,检查方法也很简单,不妨先看看
[解决办法]
标准的做法是采用前期绑定(引用Excel对象库)。任务完成后,按顺序释放对象:
'参考一下下面VB读取Excel图表到图片框的例子
Option Explicit
Dim mXlsApp As Excel.Application '应用
Dim mXlsBook As Excel.Workbook '工作薄
Dim mXlsSheet As Excel.Worksheet '工作表
Private Sub Command1_Click()
Set mXlsApp = New Excel.Application
Set mXlsBook = mXlsApp.Workbooks.Open("D:\graph.xls")
Set mXlsSheet = mXlsBook.Worksheets(1)
' 以下代码读取Excel中图表到图片框
mXlsSheet.ChartObjects(1).Chart.CopyPicture '读取图表到剪贴板
Picture1.Picture = Clipboard.GetData '粘贴数据到图片框
Clipboard.Clear '清除剪贴板数据
'注意下面的顺序
mXlsBook.Close
mXlsApp.Quit
Set mXlsSheet = Nothing
Set mXlsBook = Nothing
Set mXlsApp = Nothing
End Sub