MS Access VBA:将电子邮件链接添加到 Excel 工作表

MS Access VBA add email link to Excel sheet

提问人:RJPWilliams 提问时间:9/18/2023 最后编辑:JohnMRJPWilliams 更新时间:9/18/2023 访问量:30

问:

我有一个将数据导出到电子表格的 Access 数据库。一列包含电子邮件地址,我希望这些地址是数据库表中指向电子邮件地址的可单击链接。目前,执行此操作的代码行如下所示:

    sCell1 = "B" & iRow
    xlSheet.Cells(iRow, 2) = ![Email]
    sEmail = "mailto:" & ![Email] 
    xlSheet.Hyperlinks.Add Range(sCell1), Address:=sEmail

![电子邮件] 是相关表中的电子邮件字段。

这成功地将电子邮件地址作为超链接添加到单元格中,但是,mailto: 消失了,只有 ![电子邮件] 字段放置在单元格中。单击 Excel 中的链接会产生“此站点的地址无效”。我尝试了对地址的各种修改,添加单引号,将其括在 HTML <a /a> 中等。 似乎没有什么能给单元格提供必要的mailto:启动电子邮件包。

Excel VBA 电子邮件 MS-Access 超链接

评论


答:

2赞 JohnM 9/18/2023 #1

我无法从 Access 测试这一点,但请尝试

sCell1 = "B" & iRow
xlSheet.Hyperlinks.Add Anchor:=xlSheet.Range(sCell1), Address:="mailto:" & Email, TextToDisplay:=Email

如果使用的是后期绑定,则可能需要使用

sCell1 = "B" & iRow
xlSheet.Hyperlinks.Add xlSheet.Range(sCell1), "mailto:" & Email, , , Email

评论

0赞 RJPWilliams 9/18/2023
谢谢JohmM,太棒了,解决了问题。您提供的两个示例都有效。
0赞 JohnM 9/18/2023
很高兴得到帮助,欢迎来到 Stack Overflow。如果这个答案对您有帮助,请点击旁边的灰色复选/勾选图标将其标记为“已接受”。这有助于未来的读者知道问题有答案,也有助于将注意力集中在尚未回答的问题上。