我有一个带有一些超链接的excel工作表。其中一些是电子邮件地址
当用户点击超链接时,我使用Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
和Target.Address like "mailto:*"
确定是否是电子邮件
我现在想要的是 取消默认超链接行为 并以编程方式自行打开电子邮件客户端。这样,我可以提供默认消息并添加附件。
我尝试使用Cancel = True
,但它不起作用。
我不想搞乱自定义超链接,因为excel会自动生成电子邮件链接。
甚至可能吗?
打开超链接似乎发生在另一个线程上。
答案 0 :(得分:4)
您无法阻止点击超链接。您可以通过在Worksheet_FollowHyperlink
子设置中设置断点来自行测试。 Excel按照之前链接执行代码。
我看不到有助于干扰和阻止此行为的任何事件程序。
我可以给出的另一个提示是prevent Excel from creating hyperlinks或者通过vba与Worksheet_Change
事件进行。
Worksheet_SelectionChange拦截peuso-click并检查该单元格是否包含邮件地址。
最后但并非最不重要的一点是,如果您确实知道电子邮件客户端是Outlook ,您可能会获得新创建的邮件以添加附件,收件人,邮件......