首页 > 解决方案 > Microsoft 宏的问题。运行时错误 5941

问题描述

嗨,我收到了一个错误。我已经尝试了以下两个示例。如果您知道出了什么问题,请告诉我。谢谢!

Sub Spanish()
'
' Spanish Macro
'
'
    Templates.LoadBuildingBlocks
    Selection.Range.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    ActiveWindow.Close
    Application.Quit
End Sub
Sub Algebra()
'
' Algebra Macro
'
'
    Application.Templates.LoadBuildingBlocks
    Selection.Range.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
    ActiveWindow.Close
    Application.Quit
End Sub

标签: vbams-word

解决方案


你的代码不会像你想象的那样做。

这两个例程做的事情完全相同,操作任何选定的超链接并关闭 Word。

第一行 ,Application.Templates.LoadBuildingBlocks与跟随超链接无关,应该删除。

我怀疑您打算在第二行 ,Selection.Range.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True打开一些特定的东西。它不会。它只会执行您当前选择的任何超链接,或者如果您的选择不包含超链接,则会创建错误。本质上,您刚刚创建了一种在单击超链接的同时按 Ctrl 的冗长方式。

最后两行将完全关闭 Word。这真的是你想要发生的事情吗?

要在 Word 中执行特定的超链接,您应该使用FollowHyperlink method,例如:

ActiveDocument.FollowHyperlink Address:="https://stackoverflow.com/", NewWindow:=False, AddHistory:=True

“对不起,我不知道代码。我刚刚按下记录,它就起作用了。”

您无需了解代码即可意识到您录制的内容不会按您的预期工作。这两个例程可能是为了打开不同的链接,但只要快速阅读记录的代码就应该告诉你他们不会那样做。如果他们这样做了,他们将包含您想要关注的链接。

我对你的建议是只使用你所理解的。如果您想在 Word 中使用代码,请花一些时间学习如何操作。有很多在线资源可以学习 VBA,包括在线课程。尽管大多数是针对 Excel 而不是 Word,但它们仍然很有价值。

但不要只使用宏记录器并希望它能够工作。


推荐阅读