【问题标题】:Call Microsoft Word VBA code from within Powershell从 Powershell 中调用 Microsoft Word VBA 代码
【发布时间】:2011-11-08 23:07:54
【问题描述】:
我创建了一个 Microsoft Word 2010 宏,使用“记录宏”功能搜索文档以查找特定字符串,并将这些单词字符串插入 Excel。
我想在 Powershell 中调用这个宏。
由于脚本存在于 Microsoft Word 中,是否可以使用 Powershell 进入 Word 并执行这些宏,还是我必须在 Powershell 中重写宏?
我想在给定文件夹中的多个文档上运行此宏。
【问题讨论】:
标签:
vba
powershell
ms-word
【解决方案1】:
这样就可以了:
$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(2010 及更高版本为 normal.dotm)上才能在所有打开的文档中包含它。