在 Excel 电子表格中邮寄多个 mailto: 链接

在 Excel 电子表格中邮寄多个 mailto: 链接

mailto:我有一个 Excel 电子表格,其中一列包含超链接列表。
我希望能够向其中选定的链接发送电子邮件,但单击其中一个链接(即使是选定的链接)只会将该链接发送到邮件程序,而尝试复制它们只会复制显示文本 - 似乎无法复制底层链接。

我还找不到从另一个单元格中的公式访问底层链接的方法,以将不同逻辑的人群连接成包含他们所有地址的单个链接。

我在 Google 上搜索并找到了许多包含多个地址的链接的解决方案,但没有一个以一组每个包含单个地址的链接作为起点的解决方案。

有人知道怎么做吗?

答案1

在这里我们需要使用一些 VBA,但不用担心 - 它非常简单!

Alt+ F11。这将打开 Visual Basic 编辑器。在顶部菜单栏中,单击插入然后模块. 将以下代码粘贴到右侧出现的窗口中:

Function GetEmailAddress(EmailCell As Range) As String
   GetEmailAddress = Replace(EmailCell.Hyperlinks(1).Address, "mailto:", "")
End Function

您现在可以关闭此窗口并返回到您的电子表格。

在包含链接的名称列表右侧添加一列。我们将在这里存储我们的电子邮件地址。输入此公式并复制下来:

=GetEmailAddress(A2)

在此处输入图片描述

在另一个单元格中连接您感兴趣的电子邮件地址,并将结果超链接:

=HYPERLINK("mailto:"&A2&","&A3&","&A4&","&A5,"email people")

这将生成一个链接,email people如屏幕截图中单元格 D4 所示。单击该链接时,它会将地址列表发送到您的电子邮件客户端。

在此处输入图片描述

笔记- 因为我们添加了一些 VBA 代码,所以我们需要将文件保存为 .xls 或 .xlsm 文件。

答案2

由于接受的答案需要额外添加一列,而我其实并不太在意是否有最终的超链接——我很乐意将字符串复制并粘贴到电子邮件程序中——我已经使用此功能调整了接受的答案。对于做类似事情的人来说可能很有用,但它没有起到评论的作用。

Function GetEmailAddress(EmailCell As Range) As String

    Dim addressList As String
    Dim sep As String

    For Each c In EmailCell.Cells
        addressList = addressList & sep & Replace(c.Hyperlinks(1).Address, "mailto:", "")
        sep = ","
    Next

   GetEmailAddress = addressList

End Function 

相关内容