能不能捕捉一个关闭excel的动作来触发一个函数?该如何处理
能不能捕捉一个关闭excel的动作来触发一个函数?
因为程序遇到具体的困难,需要做一个动作,就是在excel用户手工操作关闭之后,释放excel变量
那有没有什么办法是可以 在excel关闭的同时触发函数呢?
这段代码是要在VB里面写还是要在excel里面的宏里写呢?
------解决方案--------------------
既然由Vb进行操作,就在VB里写吧
Option Explicit
Dim WithEvents xl As Excel.Application
Private Sub xl_NewWorkbook(ByVal Wb As Excel.Workbook)
'........
End Sub
Private Sub xl_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
'关闭之前的操作...............
End Sub
------解决方案--------------------
我晕
你的对象命名为objExcel 那么,应改为:
Option Explicit
Dim WithEvents objExcel As Excel.Application
Private Sub objExcel_NewWorkbook(ByVal Wb As Excel.Workbook)
'........
End Sub
Private Sub objExcel_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
'关闭之前的操作...............
objExcel.Quit
Set objExcel = Nothing
红色部分不要在这里执行
这里用于提供表单关闭之前执行某些操作的机会
End Sub
------解决方案--------------------
如果仅仅是要释放excel变量,则
sub form_unload
objExcel.Quit
Set objExcel = Nothing
end sub
上面给你提供的事件是excel表单关闭前发生的事件,而不是用于命令表单关闭
因为程序遇到具体的困难,需要做一个动作,就是在excel用户手工操作关闭之后,释放excel变量
那有没有什么办法是可以 在excel关闭的同时触发函数呢?
这段代码是要在VB里面写还是要在excel里面的宏里写呢?
------解决方案--------------------
既然由Vb进行操作,就在VB里写吧
Option Explicit
Dim WithEvents xl As Excel.Application
Private Sub xl_NewWorkbook(ByVal Wb As Excel.Workbook)
'........
End Sub
Private Sub xl_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
'关闭之前的操作...............
End Sub
------解决方案--------------------
我晕
你的对象命名为objExcel 那么,应改为:
Option Explicit
Dim WithEvents objExcel As Excel.Application
Private Sub objExcel_NewWorkbook(ByVal Wb As Excel.Workbook)
'........
End Sub
Private Sub objExcel_WorkbookBeforeClose(ByVal Wb As Excel.Workbook, Cancel As Boolean)
'关闭之前的操作...............
objExcel.Quit
Set objExcel = Nothing
红色部分不要在这里执行
这里用于提供表单关闭之前执行某些操作的机会
End Sub
------解决方案--------------------
如果仅仅是要释放excel变量,则
sub form_unload
objExcel.Quit
Set objExcel = Nothing
end sub
上面给你提供的事件是excel表单关闭前发生的事件,而不是用于命令表单关闭