2015-10-20 229 views
1

当行号我有一个Excel电子表格,里面发出的邮件使用VBA:发送Outlook电子邮件,并在邮件中添加超链接肚里打开电子表格

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

    strbody = "This is email text, click the link <a href='C:\test.xlsm & Range("F" & ActiveCell.Row).Address'></a>" 

    On Error Resume Next 


    With OutMail 
     .To = "####" 
     .CC = "" 
     .BCC = "" 
     .Subject = "Sales Tracker: A New Task has been added to the tracker" 
     .HTMLBody = strbody & strbody2 & strbody3 & strbody4 
     .Send 'displays outlook email 
     'Application.SendKeys "%s" 'presses send as a send key 
    End With 
    On Error GoTo 0 

    Set OutMail = Nothing 
    Set OutApp = Nothing 

当用户点击电子邮件发送活动行内的特定单元格。

我包括在与超链接的电子邮件我的Excel电子表格,但现在我想能够添加一些这会让我包括该行的单元格引用,用户点击的超级链接时,他们发送了电子邮件。

这是超链接,当打开时会打开电子表格,并将用户带到链接指向的行并将其突出显示。

请有人能告诉我如何做到这一点?在此先感谢

回答

0

我不确定是否有可能与超链接,最有可能不是。唯一让我想到的是将Worksheet_Activate()事件添加到您附加的电子表格中,并指向您希望的范围,但不包含超链接。

1

你缺少纸张的引用您的链接(即使我不知道,这将是足够的),所以尝试这样的事:

href='[C:\test.xlsm]" & ActiveSheet.Name & "!" & Range("F" & ActiveCell.Row).Address & "'></a>" 

符合此格式:

href='[C:\test.xlsm]SheetName!A1' 

而且更重要的是,你忘了正确关闭引号,所以这里有云:

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

strbody = "This is email text, click the link <a href='[C:\test.xlsm]" & _ 
      ActiveSheet.Name & "!" & Range("F" & ActiveCell.Row).Address & "'></a>" 

On Error Resume Next 


With OutMail 
    .To = "####" 
    .CC = "" 
    .BCC = "" 
    .Subject = "Sales Tracker: A New Task has been added to the tracker" 
    .HTMLBody = strbody & strbody2 & strbody3 & strbody4 
    .Send 'displays outlook email 
    'Application.SendKeys "%s" 'presses send as a send key 
End With 
On Error GoTo 0 

Set OutMail = Nothing 
Set OutApp = Nothing