如何阻止电子邮件地址被解析为超链接?

How do I stop email addresses from being parsed as hyperlinks?

我在电子表格中有一个船舶列表,其中一列将包含每艘船舶的电子邮件地址。但是,输入电子邮件地址会将其变成超链接,而我希望将其全部存储为纯文本。有什么方法可以防止这种情况发生或之后删除超链接吗?

我目前的尝试是这个小子:

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("VesselEmails")) Is Nothing Then Exit Sub
Application.EnableEvents = False
    If Target.Hyperlinks.Count > 0 Then Target.Hyperlinks.Delete
Application.EnableEvents = True
End Sub

不幸的是,它没有完成这项工作。有什么方法可以使它工作,或者我可以应用格式掩码之类的吗?

编辑:澄清一下,我不想完全关闭电子邮件地址的自动格式设置,只是在该列中。

您可以使用 Columns(1).Hyperlinks.Delete 删除列中的超链接。 运行 更改子中的这一行并将 Columns(1) 中的 1 更改为包含电子邮件数据的列号 - 您也可以将其更改为列字母,例如 Columns("E") .
希望能有所帮助。

您可以试试这个作为替代方案 - 它在 Excel 2010 年对我有用:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column = 5 Then
        Application.AutoFormatAsYouTypeReplaceHyperlinks = False
    Else
        Application.AutoFormatAsYouTypeReplaceHyperlinks = True
    End If

End Sub

这会根据您对问题的编辑使行为列特定。显然,您可以扩展 If Target.Column = 5 代码以包含更多列,具体取决于您的表单。

我知道你只想将它应用到一列,而这个答案并没有实现这一点。但郑重声明,以下是如何防止键入的文本在您使用 Excel:

打开的所有工作簿中变成链接或电子邮件地址

文件 > 选项 > 校对 > 自动更正选项 > 键入时自动套用格式 > 取消勾选带有超链接的 Internet 和网络路径