避免在excel-vba中触发mailto超链接

大家早上好。 如果之前询问过,请提前注意并道歉。

我有一个包含多个联系人和电子邮件的电子表格。 在工作中,我们定期发送电子邮件给这些联系人,通过一些特定的模板定制。 我创build了一个代码,当你点击一个mailto:超链接时,一个带有下拉菜单的小表单显示出来,所以我们可以select要使用的模板,当点击一个命令button时,它使用Outloook组成一个电子邮件,填充电子邮件正文与模板和联系人,公司名称,主题等

所有这些都很完美。

但是,它不仅打开了用户表单, 它也会打开一个新的,空白的电子邮件,因为它没有代码。

有什么办法可以防止这种情况发生? 点击电子邮件地址只执行我的代码?

提前致谢

不,你不能取消FollowHyperlink。 之前已经回答了。

替代

使用Worksheet_SelectionChange(ByVal Target As Range)事件,并捕获具有电子邮件的特定范围,并在这种情况下启动您的表单。 假设您的电子邮件超链接在范围B2:B30 。 然后做这个

A )删除这些单元格的所有超链接。 看到这个

B )( 可选 )如果你想给他们一个超链接的外观,然后将单元格的字体颜色设置为蓝色并加下划线。

C )将此代码粘贴到工作表代码区域

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("B2:B30")) Is Nothing Then MyForm.Show End If End Sub