在讨论主要问题之前,必须解决的是,绝对有必要由于vbscript而使宏跳闸。这是因为我有一个word宏,它使批处理脚本跳闸(访问我们的AD目录)。该批处理脚本会触发一个vbscript,该vbscript应该触发已经打开的word文件中的另一个宏。
要运行宏,这是我目前拥有的:
Set objWord = CreateObject("Word.Application")
Set a = objWord.Documents.Open("my path\my.docm")
objWord.Run "Accepted"
问题是,此脚本会导致已打开文件的新版本打开,并且对该文件执行宏。如何使宏在已打开的文件上运行?
还要注意,我要运行的宏是活动控件文本框的简单颜色更改(这是原始的活动控件,它根据用户输入关闭了宏):
Private Sub Accepted()
CWID_Input.BackColor = &H80FF80
End Sub
此外,如果有一种方法可以从批处理文件运行宏,那也可以。
答案 0 :(得分:0)
CreateObject()
将始终创建一个新实例-您需要
Set objWord = GetObject(,"Word.Application")