VBA Outlook-自动显示新电子邮件

问题描述 投票:0回答:1

我正在尝试显示我刚刚发送的电子邮件。我的想法是,当我发送电子邮件,并且该电子邮件出现在Outlook中的“已发送邮件”中时,它将自动打开它。有办法吗?

我正在尝试下面的代码,但似乎它创建了一封新电子邮件,而不是打开一个新到达的电子邮件。请帮忙。谢谢。

Private Sub Application_Startup()
  Dim outlookApp As Outlook.Application
  Dim objectNS As Outlook.NameSpace

  Set outlookApp = Outlook.Application
  Set objectNS = outlookApp.GetNamespace("MAPI")
  Set SentItems = objectNS.GetDefaultFolder(olFolderSentMail).Items
End Sub

Private Sub sentItems_ItemAdd(ByVal Item As Object)

Dim FirstPos, LastPos As Long
Dim DirectoryLine As String
Dim myOlMItem As Outlook.MailItem

On Error GoTo Handler

Set Item = CreateObject("Outlook.Application")
Set objOutlookMsg = Item.CreateItem(olMailItem)
objOutlookMsg.Display
vba outlook outlook-vba
1个回答
0
投票

无需创建新项目,使用传递的参数作为参数:

Private Sub Application_Startup()
  Dim outlookApp As Outlook.Application
  Dim objectNS As Outlook.NameSpace

  Set outlookApp = Outlook.Application
  Set objectNS = outlookApp.GetNamespace("MAPI")
  Set SentItems = objectNS.GetDefaultFolder(olFolderSentMail).Items
End Sub

Private Sub sentItems_ItemAdd(ByVal Item As Object)
  Item.Display
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.