Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免在excel vba中触发mailto超链接_Vba_Email_Excel - Fatal编程技术网

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

避免在excel vba中触发mailto超链接,vba,email,excel,Vba,Email,Excel,大家早上好。感谢您的关注,如果之前有人问过,请提前道歉 我有一个电子表格,里面有几个联系人和电子邮件。在工作中,我们定期向这些联系人发送电子邮件,通过一些特定的模板定制。我创建了一个代码,当您单击mailto:hyperlink时,会显示一个带有下拉菜单的小表单,以便我们可以选择要使用的模板;当单击命令按钮时,它会使用outlook编写一封电子邮件,用模板和联系人、公司名称、主题等填充电子邮件正文 所有这些都非常有效 然而,它不仅打开了userform;它还会打开一封新的空白电子邮件,就像没有代

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

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

所有这些都非常有效

然而,它不仅打开了userform;它还会打开一封新的空白电子邮件,就像没有代码一样

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


提前感谢

不,您不能取消以下超链接。以前已经回答过了

备选方案

使用
工作表\u selection change(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

加载工作表时,能否运行代码关闭所有超链接?类似于:ActiveSheet.Hyperlinks.Delete。或者超链接是否启动了加载自定义表单的代码?(不确定用于打开表单的OnClick事件。)是的,单击超链接将显示表单,其中有一个CommandButton;单击该按钮,它将运行一个宏来执行其余操作。下面是显示表单的代码:如果Target.Range.Address=ActiveCell.Address然后是UserForm1.Show Exit Sub End If End Sub极好的建议,@SiddharthRout。这非常有效。我检查了instr(target.text,“@”)0是否显示我的用户表单。
工作表\u FollowHyperlink(ByVal target As Hyperlink)
是否更适合此操作?这是我想到的第一个想法,但不幸的是,这行不通。在我的回答中,第一个链接也提到了这一点。幻觉-我确信我在工作表下面的超链接中做了一些类似的事情,但我今天似乎比正常人更容易产生幻觉。
我今天比正常人更容易产生幻觉。
你并不孤单。把我算在内;)