我编译了两个VBScript.vbs文件,试图控制Microsoft Word中智能引号(也称为花引号)的使用。我正在尝试使用VBScript来承担Microsoft Word的功能。
我希望的结果如下:在打开Microsoft word文档的同时,我希望能够打开其中一个.vbs文件以立即启用智能引号,反之,能够打开另一个.vbs文件以立即关闭智能引号。
不幸的是,在打开Microsoft word文档时,双击相应的.vbs文件来运行这些脚本似乎没有任何效果。但是,如果在Microsoft word关闭时打开(双击)其中一个.vbs文件,然后打开Microsoft word,则智能引号设置将反映.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.760.116978.net框架版本4.0.30319Windows 7 Ultimate Service Pack 1 64位操作系统Microsoft Office Professional Plus 2010Microsoft Word 14.0.5128.5000(64位)
使用CreateObject
将启动Word应用程序的新实例。它不会影响当前正在运行的。要获得当前正在运行的实例,您需要使用GetObject
。
因此,取而代之的是:
Set objWord = CreateObject("Word.Application")
使用此获取Word的第一个实例:
Set objWord = GetObject(, "Word.Application")
话虽如此,如果使用VBA编写的宏,它将始终在当前打开的文件中运行。你甚至可以应用一个工具栏按钮来更容易地访问。