Запуск макроса vba в word doc (который уже открыт) из vbscript или командного файла - PullRequest
0 голосов
/ 29 июня 2018

Прежде чем приступить к основной проблеме, необходимо решить, что абсолютно необходимо, чтобы макрос был отключен в результате vbscript. Это потому, что у меня есть макрос слова, который отключает пакетный скрипт (который обращается к нашему каталогу AD). Этот пакетный скрипт отключает VBScript, который должен запускать другой макрос из уже открытого файла слов.

Для запуска макроса, вот что у меня сейчас есть:

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 голосов
/ 29 июня 2018

CreateObject() всегда будет создавать новый экземпляр - вы хотите

Set objWord = GetObject(,"Word.Application")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...