在vbscript或批处理文件中的Word文档(已打开)中运行vba宏

时间:2018-06-29 14:35:08

标签: vba batch-file vbscript

在讨论主要问题之前,必须解决的是,绝对有必要由于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

此外,如果有一种方法可以从批处理文件运行宏,那也可以。

1 个答案:

答案 0 :(得分:0)

CreateObject()将始终创建一个新实例-您需要

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