如何取消vba followhyperlink?

时间:2011-07-26 12:05:34

标签: email hyperlink excel-vba outlook-vba vba

我有一个带有一些超链接的excel工作表。其中一些是电子邮件地址 当用户点击超链接时,我使用Worksheet_FollowHyperlink(ByVal Target As Hyperlink)Target.Address like "mailto:*"确定是否是电子邮件

我现在想要的是 取消默认超链接行为 并以编程方式自行打开电子邮件客户端。这样,我可以提供默认消息并添加附件。

我尝试使用Cancel = True,但它不起作用。 我不想搞乱自定义超链接,因为excel会自动生成电子邮件链接。

甚至可能吗?
打开超链接似乎发生在另一个线程上。

1 个答案:

答案 0 :(得分:4)

无法阻止点击超链接。您可以通过在Worksheet_FollowHyperlink子设置中设置断点来自行测试。 Excel按照之前链接执行代码。

看不到有助于干扰和阻止此行为的任何事件程序

我可以给出的另一个提示是prevent Excel from creating hyperlinks或者通过vba与Worksheet_Change事件进行。
Worksheet_SelectionChange拦截peuso-click并检查该单元格是否包含邮件地址。

最后但并非最不重要的一点是,如果您确实知道电子邮件客户端是Outlook ,您可能会获得新创建的邮件以添加附件,收件人,邮件......