【问题标题】:Outlook - Forward selected items as attachments macro - issue with forward symbolOutlook - 将所选项目作为附件宏转发 - 转发符号问题
【发布时间】:2020-06-26 15:31:27
【问题描述】:

我从用户 thommck 的一篇非常有用的帖子中找到了以下代码。它将所选项目作为单独电子邮件中的附件转发给指定的收件人。

当我使用代码时,转发符号不会出现在我刚刚转发的电子邮件的电子邮件图标上。如果我使用常规 Outlook 方法“作为附件转发”,则该符号会添加到查看窗格中的信封图标中。

关于如何在使用此代码时出现此前向符号的任何想法?

Sub ForwardSelectedItems()

    On Error Resume Next

    Dim objItem As Outlook.MailItem

    If Application.ActiveExplorer.Selection.Count = 0 Then
        MsgBox ("No item selected")
        Exit Sub
    End If

    For Each objItem In Application.ActiveExplorer.Selection
        Set objMsg = Application.CreateItem(olMailItem)
        With objMsg
            .Attachments.Add objItem, olEmbeddeditem
            .Subject = "enter text"
            .To = "example@example.com"
            .Send
        End With
    Next

    Set objItem = Nothing
    Set objMsg = Nothing

End Sub

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    您需要使用 MailItem 类的Forward 方法,而不是在代码中创建一个新的邮件项:

     Application.CreateItem(olMailItem)
    

    应替换为:

     objItem.Foward()
    

    注意,如果您不想看到附加项目的内容,则需要清除邮件正文。

    您可能会发现Getting Started with VBA in Outlook 2010 文章很有帮助。

    【讨论】:

      【解决方案2】:

      您可以使用 ExecuteMso 模拟按下按钮。

      https://msdn.microsoft.com/en-us/library/office/ff862419%28v=office.15%29.aspx

      表达式.ExecuteMso(idMso)

      expression 一个返回 CommandBars 对象的表达式。

      要查找 idMso,请完成将按钮添加到快速访问工具栏或功能区的过程。在列表中找到控件后,将鼠标悬停在它上面,直到出现工具提示。 idMso 是括号中的名称。

      在这种情况下是 ForwardAsAttachment

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-31
        • 1970-01-01
        • 2015-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多