VBA 添加超链接时抛出错误 1004
VBA throws error 1004 when adding a Hyperlink
我有一个创建 Mailto Link 的宏,在一个单元格中输入电子邮件地址,电子邮件正文由 3 个不同的单元格组成,代码片段中的 mailto Strin。这个 link 然后应该放在某个单元格中。
With Sheets("Menu")
.Hyperlinks.Add _
anchor:=.Cells(row, 8), _
Address:=mailTo, _
TextToDisplay:="mailTo", _
ScreenTip:="MailTo link"
End With
但是我有时会收到
error 1004
在上面的代码中。删除部分电子邮件正文可以解决问题,所以我最初认为这可能与 mailTo 字符串的长度有关。然而,这似乎并非如此,因为我已经让它可以使用不同长度的字符串。
还有哪些其他可能的原因会导致 Hyperlinks.Add
功能失败?
可能有多种原因。例如,Row
可能是 0:
最大工作表超链接限制为 65536。您可能 运行 反对这个*。
如果是这样,另一种方法是使用 Excel 的 HYPERLINK
formala。
超链接的长度似乎有限制,len
函数返回 2012 个字符。
我最初没有发现这一点的原因是因为我只是在转换为 mailto 之前查看邮件文本。
转换分别用 %0A 和 %20 替换新行和空格。所以 "Hello World" 是 11 个字符长,但在 Mailto 中它看起来像这样 "Hello%20World" 并且长度为 13。因为我在转换之前查看文本和 adding/removing 空格似乎对我来说喜欢工作时不同长度的邮件。
感谢所有提供建议的人,即使他们不是我要找的。我希望这对以后的其他人有所帮助。
我有一个创建 Mailto Link 的宏,在一个单元格中输入电子邮件地址,电子邮件正文由 3 个不同的单元格组成,代码片段中的 mailto Strin。这个 link 然后应该放在某个单元格中。
With Sheets("Menu")
.Hyperlinks.Add _
anchor:=.Cells(row, 8), _
Address:=mailTo, _
TextToDisplay:="mailTo", _
ScreenTip:="MailTo link"
End With
但是我有时会收到
error 1004
在上面的代码中。删除部分电子邮件正文可以解决问题,所以我最初认为这可能与 mailTo 字符串的长度有关。然而,这似乎并非如此,因为我已经让它可以使用不同长度的字符串。
还有哪些其他可能的原因会导致 Hyperlinks.Add
功能失败?
可能有多种原因。例如,Row
可能是 0:
最大工作表超链接限制为 65536。您可能 运行 反对这个*。
如果是这样,另一种方法是使用 Excel 的 HYPERLINK
formala。
超链接的长度似乎有限制,len
函数返回 2012 个字符。
我最初没有发现这一点的原因是因为我只是在转换为 mailto 之前查看邮件文本。
转换分别用 %0A 和 %20 替换新行和空格。所以 "Hello World" 是 11 个字符长,但在 Mailto 中它看起来像这样 "Hello%20World" 并且长度为 13。因为我在转换之前查看文本和 adding/removing 空格似乎对我来说喜欢工作时不同长度的邮件。
感谢所有提供建议的人,即使他们不是我要找的。我希望这对以后的其他人有所帮助。