想问问各位,应该怎样关掉excel。Private Sub CommandExcelOK_Click()
Dim ex       As Object
Dim exbook   As Object
Dim exsheet  As Object
Set ex = CreateObject("excel.application")
Set exbook = ex.workbooks.Open(TextExcel.Text) '打开工作簿
Set exsheet = exbook.worksheets(2) '制定当前工作表
exsheet.Activate
ex.Visible = False
   
        '关闭excel
       ex.Quit
       set ex = Nothing
    
End Sub

解决方案 »

  1.   

    ex.Quit
           set ex = Nothing
    set exbook =nothing
    set exsheet  =nothing
    这样试试呢
      

  2.   

    回楼上,不行。我在网上查到别人说用sendmessage()。但不知道怎么样,有谁有例子代码吗?谢谢
      

  3.   

    你看看你的任务管理器里面那个excel.exe还在不在?在的话其实就没有真的关掉
      

  4.   

    引用对象以后要全部释放实在不行可以使用
    OpenProcess
    TerminateProcess
    CloseHandle
      

  5.   

    注意释放的次序
    set exbook = nothing
    set exsheet = nothing
    ex.quit <- 在此之前要将所有的 excel 对象释放
    set ex = nothing
      

  6.   

    问题已解决: '关闭excel
        exbook.Close (True)
        ex.Quit
        Set exbook = Nothing
        Set ex = Nothing 把close后面加上true,就完全关闭了excel,任务管理起里面也没有了。但是我也不知道加true这个参数表示什么意思。kmlxk,你的方法的代码能具体点吗,我也想实在没有办法就kill掉那个excel的进程
      

  7.   

    Set ex = Nothing 
    有这句话,你保存到Excel中的记录重新打开后将会丢失,什么也没有了
      

  8.   

    注意顺序
    ex.Quit
    'Set MyExcelChart = Nothing
    Set exSheet = Nothing
    Set exlBook = Nothing
     Set ex = Nothing
     我就是这样关闭的,你的哪个sheet与 book反了
      

  9.   

    用SENDKEYS 关呗
    SENDKEYS "%{F4}",TRUE
    SENDKEYS "~",TRUE
      

  10.   


    分析原因:当: Application.Quit时
    由于可能: 文件已经更改导致 -> Application.ActiveWorkbook.Saved = False
    所以:询问你在退出之前是否存盘???
    但又由于:Application.Visible = False
    所以:你看不见对话框,死等... 进程死等....故此:
    当执行如下代码时,不会出现询问对话框,进程正常关闭。
    Application.DisplayAlerts = False
    Application.Quit以上仅仅是分析没退出的原因,如果是只读的可以这样,重要数据还是要先保存!!!
      

  11.   

    同意楼上的,你先ex.visible=true,关一下试试看,有什么问题出现!
      

  12.   

    我从来没遇到过这种问题,本人的考试系统已经使用n多年了,对word,excel.ppt.fp操作都没有问题,我觉得还是关闭过程存在问题