Outlook 2007 ItemAdd事件触发而未发送对象,参数为空

时间:2014-12-10 08:09:38

标签: outlook outlook-vba

我在ThisOutlookSession中有以下代码。它将项目添加到我发送的电子邮件文件夹时运行。它会像它应该的那样发射,但它一直告诉我,这个论点不是可选的'。我查看了很多例子并用它来构建这个例子。我无法弄清楚我做错了什么。看起来我正在按书完成所有工作,但item中的myItems_ItemAdd参数仍然是空的。

Private WithEvents myItems As Outlook.Items
Private Sub Application_Startup()
  Set myItems = Outlook.Session.GetDefaultFolder(olFolderSentMail).Items
End Sub
Private Sub myItems_ItemAdd(ByVal Item As Object)
  Dim olNS As Outlook.NameSpace
  On Error GoTo ErrorHandler
  Dim Msg As Outlook.MailItem

  If TypeName(Item) = "MailItem" Then
    Set Msg = Item
    If InStr(Msg.Body, "[W]") > 0 Then
        FlagWaitingForAnswerAndMove (Msg)
    End If

  End If
ProgramExit:
  Exit Sub
ErrorHandler:
  MsgBox Err.Number & " - " & Err.Description
  Resume ProgramExit
End Sub

1 个答案:

答案 0 :(得分:0)

您是否尝试调试代码?你有任何错误吗?

很可能以下条件返回false并且您认为它为空:

If TypeName(Item) = "MailItem" Then

是这样的吗?

尝试删除上述条件。这有帮助吗?