【问题标题】:Retrieving Outlook Attachments in VBA from sent mail从已发送邮件中检索 VBA 中的 Outlook 附件
【发布时间】:2016-12-27 22:35:05
【问题描述】:

我想要做的是让它在我们工作中的一些电子邮件模板上,当我们将某个 Excel 文件拖放到它时,它会选择并复制其中的一个范围将 Excel 文件放入电子邮件正文中。我唯一的问题是,当我到处查看时,我发现的所有代码似乎都是针对正在接收而不是编写的电子邮件的,我该如何访问:

  1. 我正在写的电子邮件中的附件
  2. 我正在写的电子邮件正文

我确信一旦我可以获取当前电子邮件的附件,我就可以获取我想要的所有其他内容的代码。

在任何提到“只记录宏,看看 Outlook 是如何做的”之前,出于某种原因,我的 Outlook 在任何地方都没有“记录宏”项,因为这也是我的第一个选择。

【问题讨论】:

    标签: vba email excel outlook


    【解决方案1】:

    我如何访问:我正在写的电子邮件中的附件 我正在写的电子邮件的正文

    这是一个非常基本的例子。我没有做任何错误处理,但我相信你可以处理它。

    假设您正在编写的电子邮件如下所示

    你只需要这段代码

    Sub Sample()
        Dim NewMail As MailItem, oInspector As Inspector
        Set oInspector = Application.ActiveInspector
    
        '~~> Get the current open item
        Set NewMail = oInspector.CurrentItem
    
        With NewMail
            Debug.Print .To
            Debug.Print .subject
            Debug.Print .Body
    
            AttchCount = .Attachments.Count
    
            If AttchCount > 0 Then
                For I = 1 To AttchCount
                    '~~> Print Attachment names
                    Debug.Print .Attachments.Item(I).DisplayName
                Next I
            End If
        End With
    End Sub
    

    输出

    【讨论】:

    • 你是救生员,谢谢。我试图通过等级制度但没有运气。
    • 很高兴它成功了。顺便说一句,代码从 VBA Outlook 运行。如果您希望它从 VBA Excel 运行,则必须相应地声明和创建 Outlook 对象。
    • 现在我的大问题是试图弄清楚添加新附件时触发的事件到底是什么。还没有弄清楚命名方案。
    • 嗯,这很粗鲁。该死的微软!
    • 哇!为什么要为此责怪MS?我们应该感谢他们给了我们如此重要的应用程序。您不仅可以发送和接收电子邮件,还可以用它做很多事情;)
    猜你喜欢
    • 2013-04-15
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多