【问题标题】:Controlling Microsoft word options with VBScript使用 VBScript 控制 Microsoft Word 选项
【发布时间】:2012-04-03 14:38:54
【问题描述】:

我编译了 2 个 VBScript .vbs 文件,试图控制 Microsoft Word 中智能引号(也称为弯引号)的使用。我正在尝试使用 VBScript 来执行 Microsoft Word 功能。

我希望的结果如下:在打开 Microsoft Word 文档的同时,我希望能够打开其中一个 .vbs 文件以立即启用智能引号,反之亦然能够打开另一个.vbs 文件关闭智能引号立即生效。

不幸的是,在打开 Microsoft Word 文档时,通过双击相应的 .vbs 文件运行这些脚本似乎没有任何效果。 但是,如果我在关闭 Microsoft Word 时打开(通过双击)其中一个 .vbs 文件,然后打开 Microsoft Word,智能引号设置将反映 .vbs 文件中的脚本。 我已经从下面的 .vbs 文件中复制了脚本。每个代码中都有一行垃圾代码,前面有一个撇号 - 正如我所说的,我一直在试验。 如何修改脚本以实现上述结果? 非常感谢任何帮助。斯图尔茨

关闭智能引号的脚本(在 .vbs 文件中):

On Error Resume Next  
Set objWord = CreateObject("Word.Application")  
'objWord.Visible = True  
Set objOptions = objWord.Options  
objOptions.AutoFormatAsYouTypeReplaceQuotes = False  
objOptions.AutoFormatReplaceQuotes = False  
ObjWord.Quit  

打开智能引号的脚本(在 .vbs 文件中):

On Error Resume Next  
Set objWord = CreateObject("Word.Application")  
'objWord.Visible = True  
Set objOptions = objWord.Options  
objOptions.AutoFormatAsYouTypeReplaceQuotes = True  
objOptions.AutoFormatReplaceQuotes = True  
ObjWord.Quit  

VBScript 版本 5.8.7601.16978 .net框架版v4.0.30319 Windows 7 Ultimate Service Pack 1 64 位操作系统 微软办公专业增强版 2010 Microsoft Word 14.0.5128.5000(64 位)

【问题讨论】:

    标签: vbscript ms-word


    【解决方案1】:

    使用CreateObject 将启动 Word 应用程序的新实例。它不会影响当前正在运行的。要获取当前正在运行的实例,您需要使用GetObject

    所以,不要这样:

    Set objWord = CreateObject("Word.Application")
    

    使用它来获取 Word 的第一个实例:

    Set objWord = GetObject(, "Word.Application")
    

    话虽如此,如果您使用用 VBA 编写的宏,它将始终在当前打开的文件中运行。您甚至可以应用工具栏按钮以便于访问。

    【讨论】:

    • 谢谢。我以前尝试过 GetObject 但没有使用逗号。您的回答会弹出一个对话框,其中包含“保存”、“不保存”和“取消”。如果我按退出键或单击“取消”,就可以了。有没有办法防止出现对话框,或者我应该使用模拟按下转义键的脚本?在 VBA 中,这个问题不存在。我对使用 VBScript 很感兴趣,因此我可以将脚本放入语音识别宏中。
    • Microsoft Word 的默认操作是在有意关闭文档或应用程序退出时提示保存更改,这正是脚本到达objWord.Quit 时发生的情况。 Quit 方法接受一个参数,该参数告诉 Word 如何处理这种情况。可接受的值是 0、-1 和 -2,它们分别表示退出而不保存更改、退出保存更改和提示保存更改。根据您需要哪一个,请尝试类似的方法。 objWord.Quit 0
    • 太好了,非常感谢。我完全从脚本中删除了该行,因此 word 文档不会关闭。
    • 很高兴这对您有所帮助。如果您对结果感到满意,请接受此答案,以便其他阅读本文的人知道有解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    相关资源
    最近更新 更多