Macros 运行时错误';509';:此命令不可用-Word 2013的WordBasic

Macros 运行时错误';509';:此命令不可用-Word 2013的WordBasic,macros,ms-word,runtime-error,Macros,Ms Word,Runtime Error,我有一个宏代码,其中包含以下Wordbasic调用行: WordBasic.FormatFont Font:='Courier New', Points:=8 我已经运行了代码,它在word 2013中的这个命令中给出了运行时错误509。 虽然我在Word2013中为wordbasic.Formatfont编写了单个宏,但它运行得非常好。我不知道背后的问题是什么 我在谷歌找不到任何纠正方法。在Microsoft Word 2013中,还有其他方法解决wordBasic调用吗?wordBasi

我有一个宏代码,其中包含以下Wordbasic调用行:

 WordBasic.FormatFont Font:='Courier New', Points:=8
我已经运行了代码,它在word 2013中的这个命令中给出了运行时错误509。 虽然我在Word2013中为
wordbasic.Formatfont
编写了单个宏,但它运行得非常好。我不知道背后的问题是什么

我在谷歌找不到任何纠正方法。在Microsoft Word 2013中,还有其他方法解决wordBasic调用吗?

wordBasic返回一个自动化对象(Word.Basic),其中包含Word 6.0版中可用的方法。它已经过时了。请改用Visual Basic对象和方法

WordBasic:

WordBasic.FormatFont Font:='Courier New', Points:=8
在VBA中是

With Selection.Font 
    .Name = "Courier New"
    .Size = 8
End With

这个答案并不是你想要的,而是一个解决办法。但我认为这是最好的方法——我建议不要使用WordBasic,而是使用VBA。请访问msdn.com。

非常感谢您的输入。我在word 2013的宏代码中使用了此命令,但我得到了一个新的运行时错误“4605”:此命令在中不可用,请选择。Font.name=“Courier new”。Size=8以in.name=“Courier new”结尾线路。你能帮我一下吗。\n真奇怪。它看起来像您以前的错误,但在VBA中。请检查(出现错误后),ActiveDocument是否是您所需的文档,光标是否处于假定位置,以及用户是否可以选择字体。我猜该文档未处于假定状态。请您分享我如何将ActiveDocument与Selection一起使用。Selection对象实际上是ActiveDocument.ActiveWindow.Selection对象。如果宏切换到其他文档,则此新文档为ActiveDocument。这通常是错误的根源。所以第一个问题:您确定您正在处理所需的文档吗?没有关门吗?我认为Document对象中的Selection对象应该具有字体属性。这就是为什么我要检查目标文档的状态。当我在宏中使用.Name进行选择时,它会自动将.Name转换为.Name。我们能把它作为一个问题来总结吗?