Excel / VBA发送带有超链接和可变单元格值的电子邮件

时间:2015-01-27 21:01:57

标签: email variables excel-vba if-statement hyperlink

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

  1. 我希望在电子邮件中将文本“检查列表”通过超链接链接到http://“linktospreadsheet”.html。
  2. 电子邮件文本中的失效日期必须是变量值,具体取决于链接电子表格中的值。
  3. 此外,有人可以提供有关如何在物品到期日期临近时执行此模块的指南吗?以下是代码:

    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
    

1 个答案:

答案 0 :(得分:1)

自定义邮件正文有三种主要方式。

  1. Body - 不允许添加超链接,只接受原始文本。
  2. HTMLBody - HTML标记可用于自定义正文。
  3. Word编辑器 - Word对象模型可用于自定义正文。 WordEditor属性返回表示邮件正文的Word文档实例。
  4. 如您所见,您可以使用#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选项。