gpt4 book ai didi

vba - 在 Outlook 中发送电子邮件时,如何自动运行宏?

转载 作者:行者123 更新时间:2023-12-04 18:35:30 26 4
gpt4 key购买 nike

下面的脚本运行良好,但每次打开 Outlook 时我都必须手动运行 Initialize_handler 例程才能使其正常工作。

Public WithEvents myOlApp As Outlook.Application

Public Sub Initialize_handler()
Set myOlApp = CreateObject("Outlook.Application")
End Sub

Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim prompt As String
prompt = "Are you sure you want to send " & Item.Subject & "?"
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then
Cancel = True
End If
End Sub

据我所知,要自动完成这项工作,我应该能够将以下脚本添加到 ThisOutlookSession。然而,这不起作用,我不知道为什么。

我的宏安全设置正确,它在启动时运行代码,但由于某种原因,在我手动打开 VBA 编辑器单击进入 Initialize_handler 并按 F5 之前它不起作用。
Private Sub Application_Startup()
Initialize_handler
End Sub

最佳答案

此处描述的卷积方法 https://msdn.microsoft.com/en-us/library/office/ff865076.aspx表示“示例代码必须放在类模块中”。

我建议你只使用特殊的类模块 ThisOutlookSession。您可以尝试使用自己的类模块,但如果您只想让它工作,那么在 ThisOutlookSession 中用它替换所有代码。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim prompt As String
prompt = "Are you sure you want to send " & Item.Subject & "?"
If MsgBox(prompt, vbYesNo + vbQuestion, "Sample") = vbNo Then
Cancel = True
End If
End Sub

关于vba - 在 Outlook 中发送电子邮件时,如何自动运行宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35806335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com