首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB操作EXCEL,历程无法关闭

2013-01-06 
VB操作EXCEL,进程无法关闭Private Sub Form_Load()Set ExiD CreateObject(Excel.Application)ExiD.Vis

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

热点排行