【问题标题】:Forward mail and add content to body (Outlook 2007, VBA)转发邮件并将内容添加到正文(Outlook 2007,VBA)
【发布时间】:2016-09-23 04:47:57
【问题描述】:

谁能帮我编辑以下问题的 VBA 代码: 我想将具有特定主题的电子邮件转发到特定的电子邮件。在这个过程中,我想在转发的正文中添加一个文本。 感谢您的帮助!

编辑。

我现在有代码,但它不能正常工作。它发送最后点击的电子邮件:(。

Sub Test(oMail As MailItem)
Dim MyItem As Outlook.MailItem
Dim obj_curitem As MailItem
Dim obj_newitem
Dim obj_Selection
Dim obj_curfolder
Dim obj_msgitems
Dim Forward As Object

If Err.Number = 0 Then
    Set obj_Selection = Outlook.ActiveExplorer.Selection
        If obj_Selection.Count > 0 Then

        For Each obj_curitem In obj_Selection
            strID = obj_curitem.EntryID
            Set olNS = Application.GetNamespace("MAPI")

            'Object auf einem neuen Item erstellen
            Set obj_newitem = obj_curitem.Forward
            With obj_curitem.Forward
                .Forward = True
                .SentOnBehalfOfName = "###"  'Deine Mailadresse
                .Subject = "WG" & .Subject                      'Betreff
                .To = "###"                    'Empfängermail
                .BODY = "geprüft" & .BODY                       'E-Mail Inhalt
                .Send

            End With
        Next
    End If
End If
End Sub

【问题讨论】:

  • 你现在有什么代码?

标签: vba email outlook ms-office forward


【解决方案1】:

一般情况下,您需要处理 Application 类的 NewMailEx 事件,您可以在其中检查 Subject 属性并决定是否转发电子邮件。 Application 类的 Forward 方法允许您这样做 - 它为项目执行转发操作并将生成的副本作为 MailItem 对象返回。

NewMailEx 事件会针对 Microsoft Outlook 处理的每个收到的项目触发一次。该项目可以是几种不同的项目类型之一,例如 MailItem、MeetingItem 或 SharingItem。 EntryIDsCollection 字符串包含对应于该项目的条目 ID。您可以使用 EntryIDCollection 数组中返回的条目 ID 来调用 NameSpace.GetItemFromID 方法并处理该项目。

Outlook 对象模型提供了三种处理项目主体的主要方式:

  1. Body
  2. HTMLBody
  3. Word 编辑器。 Inspector 类的WordEditor 属性返回代表消息正文的Word 文档实例。因此,您可以使用 Word 对象模型对消息正文进行任何您需要的操作

更多信息请参见Chapter 17: Working with Item Bodies

【讨论】:

  • 嘿!提前感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 2016-03-04
  • 2015-12-19
  • 1970-01-01
  • 2023-01-13
相关资源
最近更新 更多