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

我有一个电子表格中的船舶列表,其中一列将包含每艘船的电子邮件地址。 但是,input一个电子邮件地址将其变成一个超链接,而我希望它们都以纯文本forms存储。 有什么办法可以防止这种情况发生,或者之后将超链接剥离?

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

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 

不幸的是,这并不是工作。 有什么办法可以让它工作,或者我可以申请什么格式的面具?

编辑:澄清,我不想closures电子邮件地址autoformatting完全,只是在该列。

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

你可以尝试这个替代scheme – 它在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代码以包含更多列,具体取决于您的表单。

我意识到你想只适用于一列,这个答案没有达到。 但是为了logging,下面是如何防止打开Excel的所有工作簿中键入的文本变成链接或电子邮件地址:

文件“>”选项“>”校对“>”自动更正选项“>”键入时自动生成格式“>取消使用超链接的Internet和networkingpath

在这里输入图像说明