【问题标题】:How to insert signature at the end of an automated email?如何在自动电子邮件的末尾插入签名?
【发布时间】:2020-11-06 11:17:48
【问题描述】:

我更新主题行和正文中的日期。

我正在尝试将我的默认签名添加到电子邮件的末尾。

Sub AutomatedMessage()

    Dim OApp As Object, OMail As Object, signature As String

    Set OApp = CreateObject("Outlook.Application")
    Set OMail = OApp.CreateItem(0)

    With OMail
        .Display
    End With

    signature = OMail.body
    
    start_date = Format(Now, "dddd d mmmm")
    end_date = Format(Now + 6, "dddd d mmmm")
    start_date_short = Format(Now, "d mmmm")
    end_date_short = Format(Now + 6, "d mmmm yyyy")

    With OMail
        .To = email@company.com
        .CC = email@company.com
        .Subject = "Email subject" & start_date_short & " to " & end_date_short
        .Body = "Dear people, etc etc starting" & start_date & " and ending" & end_date & signature
    End With

    Set OMail = Nothing
    Set OApp = Nothing

End Sub

这会导致运行时错误 287。

调试时,.Display 后面的.body 只包含,尽管我在打开邮件时可以看到签名在邮件中。

【问题讨论】:

  • 这能回答你的问题吗? How to add default signature in Outlook
  • 如果有图片则.HTMLBody而不是.Body
  • 链接的文章是我最初写这篇文章的依据。即使使用 HTMLBody 而不是 body,每次保存 HTMLBody 时都会引发运行时错误“287”。打开调试器显示.HTMLBody.Body 是空的,即使显示的电子邮件中有内容。我见过的大多数事情都使用相同的方法,并给我同样的错误。

标签: vba outlook


【解决方案1】:

用引号将您的电子邮件地址括起来,因为它们应该是字符串输入。

.To = "email@company.com"
.CC = "email@company.com"

还可以添加一些空格来分隔文本中的不同值。 所以完整的方法(经过测试和工作)如下所示:

Sub AutomatedMessage()

    Dim OApp As Object, OMail As Object, signature As String

    Set OApp = CreateObject("Outlook.Application")
    Set OMail = OApp.CreateItem(0)

    With OMail
        .Display
    End With

    signature = OMail.Body
    
    start_date = Format(Now, "dddd d mmmm")
    end_date = Format(Now + 6, "dddd d mmmm")
    start_date_short = Format(Now, "d mmmm")
    end_date_short = Format(Now + 6, "d mmmm yyyy")

    With OMail
        .To = "email@company.com"
        .CC = "email@company.com"
        .Subject = "Email subject " & start_date_short & " to " & end_date_short
        .Body = "Dear people, etc etc starting " & start_date & " and ending " & end_date & signature
    End With

    Set OMail = Nothing
    Set OApp = Nothing

End Sub

【讨论】:

  • 它会丢失任何签名的格式,如颜色、样式、粗斜体等。它会将签名添加为纯文本。
猜你喜欢
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 2022-11-21
  • 2012-06-20
  • 1970-01-01
  • 2014-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多