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

时间:2015-05-12 20:06:18

标签: excel vba email excel-vba

大家早上好。如果之前有人问过,请提前感谢您的关注和道歉。

我有一个包含多个联系人和电子邮件的电子表格。在工作中,我们会定期向这些联系人发送电子邮件,并通过一些特定模板进行定制。我创建了一个代码,当您单击mailto:超链接时,会显示一个带有下拉菜单的小表单,以便我们可以选择要使用的模板,单击命令按钮时,它会使用Outloook编写电子邮件,使用模板和联系人,公司名称,主题等填充电子邮件正文

所有这一切都很完美。

然而,它不仅打开用户形式;它还会打开一个新的空白电子邮件,就像没有代码一样。

有没有办法防止这种情况发生?仅在单击电子邮件地址时执行我的代码?

提前致谢

1 个答案:

答案 0 :(得分:2)

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

<强>替代

使用Worksheet_SelectionChange(ByVal Target As Range)事件并捕获具有电子邮件的特定范围,并在此事件中启动您的表单。让我们说你的电子邮件超链接在B2:B30范围内。然后这样做

A )从这些单元格中删除所有超链接。见This

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