如何在 Outlook 2007 VBA 中调用 quit/close 事件
How to call the quit/close event in outlook 2007 VBA
这个问题很简单,但不知为什么对我来说很难实现。当 outlook 2007 关闭时,如何触发 quit/close 事件?
我想在 VBA 中显示一个 Yes/No 消息框,它根据关闭 outlook 时选择的选项执行代码。
我认为我有解决方案:
Dim WithEvents myOlApp As Outlook.Application
Sub Initialize_handler()
Set myOlApp = CreateObject("Outlook.application")
End Sub
Private Sub myOlApp_Quit()
MsgBox "TEST"
End Sub
首先,我尝试将它插入到我的模块中,但这给了我 Only valid in object modules
错误。因此,我创建了一个新的 class 模块并将代码粘贴到此处(没有出现错误),但事件仍然不会触发。出了什么问题以及如何解决?
Set myOlApp = CreateObject("Outlook.application")
无需创建新的 Outlook 实例。您应该使用 Outlook VBA 中可用的应用程序 属性。
Private Sub Application_Quit()
MsgBox "Goodbye, " & Application.GetNamespace("MAPI").CurrentUser
End Sub
查看 MSDN 中的 Getting Started with VBA in Outlook 2010 文章。
这个问题很简单,但不知为什么对我来说很难实现。当 outlook 2007 关闭时,如何触发 quit/close 事件?
我想在 VBA 中显示一个 Yes/No 消息框,它根据关闭 outlook 时选择的选项执行代码。
我认为我有解决方案:
Dim WithEvents myOlApp As Outlook.Application
Sub Initialize_handler()
Set myOlApp = CreateObject("Outlook.application")
End Sub
Private Sub myOlApp_Quit()
MsgBox "TEST"
End Sub
首先,我尝试将它插入到我的模块中,但这给了我 Only valid in object modules
错误。因此,我创建了一个新的 class 模块并将代码粘贴到此处(没有出现错误),但事件仍然不会触发。出了什么问题以及如何解决?
Set myOlApp = CreateObject("Outlook.application")
无需创建新的 Outlook 实例。您应该使用 Outlook VBA 中可用的应用程序 属性。
Private Sub Application_Quit()
MsgBox "Goodbye, " & Application.GetNamespace("MAPI").CurrentUser
End Sub
查看 MSDN 中的 Getting Started with VBA in Outlook 2010 文章。