发送电子邮件时,将电子邮件主题行作为VBA中的变量获取

时间:2018-10-09 09:47:26

标签: vba ms-access outlook access-vba

我正在编写代码以获取发送时电子邮件的主题行,但由于某种原因,我没有在变量中得到任何内容。

以下是我使用的代码:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim yPrompt As String
    Dim xOkOrCancel As Integer
    Dim abc As Outlook.MailItem

    On Error Resume Next
    yPrompt = abc.Subject
    xOkOrCancel = MsgBox(yPrompt, vbOKCancel)
    If xOkOrCancel <> vbOK Then
        Cancel = True
    End If
End Sub

当我刚接触VBA并不确定我哪里出问题时,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

删除resume next行-保留其中的有用信息,以帮助您诊断问题。

您声明abc然后尝试读取它的.Subject-这既是运行时错误(如上所述,被resume next隐藏)也是逻辑错误,因为您没有将其分配给任何内容

事件proc正在向您提供Item中的消息,因此您只需使用Item.Subject