【问题标题】:Excel/VBA send email with hyperlink and variable cell value [closed]Excel/VBA 发送带有超链接和可变单元格值的电子邮件 [关闭]
【发布时间】:2015-03-26 14:59:34
【问题描述】:

我在工作簿中设置了一个标准模块来向我发送电子邮件。我现在被困在两个部分。

  1. 我希望在电子邮件中通过超链接到 http://"linktospreadsheet".html 的文本“检查列表”。
  2. 电子邮件文本中的到期日期必须是可变值,取决于链接电子表格中的值。

另外,当项目到期日期实际临近时,有人可以提供有关如何执行此模块的指南吗?下面是代码:

Option Explicit

  Sub Mail_small_Text_Outlook()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    strbody = "A plan is now # days from expiring" & vbNewLine & vbNewLine & _
              "Please view the check list for details." & vbNewLine & vbNewLine & _
              "http://linktospreadsheet.html"
    On Error Resume Next
    With OutMail
        .To = "name@email.com"
        .CC = ""
        .BCC = ""
        .Subject = "Subject"
        .Body = strbody
        .Attachments.Add ("C:\test.txt")
        .Send
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

【问题讨论】:

    标签: excel vba email if-statement hyperlink


    【解决方案1】:

    自定义消息正文主要有三种方式。

    1. Body - 不允许添加超链接,只能接受原始文本。
    2. HTMLBody - HTML 标记可用于自定义正文。
    3. Word 编辑器 - Word 对象模型可用于自定义正文。 WordEditor 属性返回代表消息正文的 Word 文档实例。

    如您所见,您可以使用 #2 或 #3 选项来完成工作。

    您可以在 MSDN 中的 Chapter 17: Working with Item Bodies 文章中阅读有关这些方式的更多信息。

    1.我希望在电子邮件中通过超链接到 http://"linktospreadsheet".html 的文本“检查列表”

    您可以使用 HTML 标记 (<a href="web_address_here"/>) 或使用 Word 对象模型(请参阅 Hyperlinks.Add)添加超链接。

    2.电子邮件文本中的到期日期需要是一个可变值,取决于链接电子表格中的值。

    您可以在运行时将任何信息添加到消息正文中。请参考上述#2 和#3 选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-10
      • 2016-05-19
      • 1970-01-01
      • 2016-01-08
      • 2017-04-24
      • 2017-05-30
      • 1970-01-01
      • 2013-08-17
      相关资源
      最近更新 更多