如何将超链接和表插入Excel工作表中的单元格?

时间:2017-06-20 06:10:57

标签: excel vba excel-vba excel-formula outlook-vba

这是outlook VBA中的代码

Sub Sendmail()
    Dim olItem As Outlook.MailItem
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSht As Excel.Worksheet
    Dim sPath As String
    Dim iRow As Long
    Dim strRFIitems As String
    Dim Signature As String

    sPath = "**"

    '   // Excel
    Set xlApp = CreateObject("Excel.Application")
    '   // Workbook
    Set xlBook = xlApp.Workbooks.Open(sPath)
    '   // Sheet
    Set xlSht = xlBook.Sheets("Sheet1")
    '   // Create e-mail Item
    Set olItem = Application.CreateItem(olMailItem)

    strRFIitems = xlSht.Range("E2")
    Signature = xlSht.Range("F2")

    With olItem
        .To = Join(xlApp.Transpose(xlSht.Range("A2", xlSht.Range("A9999").End(xlUp))), ";")
        .CC = Join(xlApp.Transpose(xlSht.Range("B2", xlSht.Range("B9999").End(xlUp))), ";")
        .Subject = xlSht.Range("C2")
        .Body = xlSht.Range("D2") & Signature
        .Attachments.Add (strRFIitems)
        .Display
    End With

    '   // Close
    xlBook.Close SaveChanges:=True
    '   // Quit
    xlApp.Quit

    Set xlApp = Nothing
    Set xlBook = Nothing
    Set xlSht = Nothing
    Set olItem = Nothing
End Sub

代码从链接的Excel工作表中检索数据。现在 问题在于.Body = xlSht.Range("D2") & Signature这一行 代码,从D2的D2单元格中检索邮件正文 Excel表格。

根据我的要求,邮件正文应包含超级邮件 链接和表格以及文本。

示例:

  

大家好,
  请更新门户网站中的详细信息   门户链接:http://google.com

     

如有任何澄清,请与我联系。

     

下面提到的细节需要更新:
      表必须插入此处

假设上面提到的文本被插入到Excel的单元格中。

  1. 列表项目
    portal link: http://google.com.成为纯文本而非超链接。 如果我尝试使其成为超链接,则整个单元格变为超链接。即使是文本。

  2. 列表项目
    如何将表插入Excel工作表的单元格并使用Outlook VBA调用它

  3. 查询:
    如何插入超链接和表以及测试 消息进入Excel的单元格并使用上面的方法检索它 提到代码并发送包含超链接和表格的邮件。

1 个答案:

答案 0 :(得分:0)

对于超链接,您可以使用以下代码:

Range("K6").Select
ActiveCell.FormulaR1C1 = "test"
Range("K6").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
    "http://www.google.com", TextToDisplay:="test"
Range("K6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True