使用VBScript控制Microsoft单词选项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用VBScript控制Microsoft单词选项相关的知识,希望对你有一定的参考价值。

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

我想要的结果如下:在打开Microsoft Word文档的同时,我希望能够打开其中一个.vbs文件以立即生效智能引号,反之则可以打开另一个.vbs文件立即改变智能报价。

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

用于关闭智能引号的脚本(在.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位操作系统Microsoft Office Professional Plus 2010 Microsoft Word 14.0.5128.5000(64位)

答案

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

所以,而不是这个:

Set objWord = CreateObject("Word.Application")

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

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

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

以上是关于使用VBScript控制Microsoft单词选项的主要内容,如果未能解决你的问题,请参考以下文章

vbscript 使用Microsoft ActiveX Data Objects 2.8库连接到SQL数据源

vbscript 的Microsoft.Win32

vbscript 单个单词查缩写

vbscript 单词get_title11

vbscript 单词提取

vbscript 单词add_link