Вызовите код Microsoft Word VBA изнутри Powershell - PullRequest
2 голосов
/ 09 ноября 2011

Я создал макрос Microsoft Word 2010, используя функцию записи макроса, чтобы выполнить поиск в документе, чтобы найти определенную строку слов, и вставить эту строку слов в Excel.

Я хочу вызвать этот макрос в Powershell.

Поскольку сценарий находится в Microsoft Word, возможно ли получить доступ к Word с помощью Powershell и выполнить эти макросы, или мне придется переписатьмакрос в Powershell?

Я хочу запустить этот макрос для нескольких документов в заданной папке.

1 Ответ

3 голосов
/ 09 ноября 2011

Это делает трюк:

$wd = new-object -comobject word.application # create a com object interface (word application)

$wd.documents.open("C:\word\test.doc") # open doc

$wd.run("Macro01") # exec macro named macro01

$wd.quit() # exit application

Макрос должен быть сохранен в normal.dot (normal.dotm для 2010 и выше), чтобы иметь его во всех открытых документах.

...