因为程序遇到具体的困难,需要做一个动作,就是在excel用户手工操作关闭之后,释放excel变量那有没有什么办法是可以 在excel关闭的同时触发函数呢?这段代码是要在VB里面写还是要在excel里面的宏里写呢?

解决方案 »

  1.   

    既然由Vb进行操作,就在VB里写吧Option ExplicitDim WithEvents xl As Excel.Application
    Private Sub xl_NewWorkbook(ByVal Wb As Excel.Workbook)
      '........
    End SubPrivate Sub xl_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
      '关闭之前的操作...............
    End Sub
      

  2.   


    Private Sub xl_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
      '关闭之前的操作...............
    End Sub
    放进去之后,调用函数,结果显示“参数不可选”
      

  3.   

    我的是:
    Private Sub xl_WorkbookBeforeClose()'释放excel对象
      objExcel.Quit
      Set objExcel = Nothing
    End Sub无法在excel关闭时触发,变成excel一打开就关闭了
      

  4.   

    我晕
    你的对象命名为objExcel 那么,应改为:Option ExplicitDim WithEvents objExcel As Excel.Application
    Private Sub objExcel_NewWorkbook(ByVal Wb As Excel.Workbook)
      '........
    End SubPrivate Sub objExcel_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
      '关闭之前的操作...............
      objExcel.Quit
      Set objExcel = Nothing

    红色部分不要在这里执行
    这里用于提供表单关闭之前执行某些操作的机会
    End Sub
      

  5.   

    如果仅仅是要释放excel变量,则sub form_unload
     objExcel.Quit
     Set objExcel = Nothing
    end sub上面给你提供的事件是excel表单关闭前发生的事件,而不是用于命令表单关闭