【问题标题】:I can't get a macro written in outlook to activate whenever I click the send button每当我单击发送按钮时,我都无法激活用 Outlook 编写的宏
【发布时间】:2017-07-31 03:00:54
【问题描述】:

我正在尝试在 Outlook 中使用 Microsoft Visual Basic 编写一个宏,但是当按下发送按钮时我无法让它工作。 (更具体地说,我想在使用“附加”一词时检查附件。)

我已经编写了检查附件的代码,但由于我在触发事件方面遇到了困难,我正在使用仅使用 MsgBox 的更简单的代码进行测试。

我使用的代码是这样的(ThisOutlookSession -> Application -> ItemSend):

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

MsgBox "Try msgbox"

End Sub

另外,当有触发事件时,如何部分执行我的代码以检查其正确性?

【问题讨论】:

  • 如果您的第一个 VBA 代码请参阅信任中心 support.office.com/en-us/article/…
  • 每个帖子都有一个问题。你的第二个问题是重复的。
  • 您是说您发布的更简单的代码不起作用吗?
  • 代码将在命令“stop”处停止执行。因此,将命令关键字“stop”插入到您的代码中。从那里您可以检查变量值和对象属性,按 F8 单步,或按 F5 继续。
  • 感谢您提供信任中心链接,这就是问题所在。 - 顺便说一句,如果我把两个问题合二为一,我会更加小心。

标签: vba outlook


【解决方案1】:

您可以编写一个小子例程来测试所有当前选定邮件的事件处理程序。

Private Sub MyTest()
    Dim objItem As Object
    Dim Cancel As Boolean

    Cancel = False

    For Each objItem In Application.ActiveExplorer.Selection
        If TypeName(objItem) = "MailItem" Then                
            Call Application_ItemSend(item, Cancel)
        End If
    Next
End Sub

与具有非空参数列表的子例程不同,当您点击start 按钮时,此例程被列为宏。因此,您可以使用VBA Debugger 逐步完成。

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 2011-05-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多