【发布时间】:2023-03-29 13:20:01
【问题描述】:
我有一个 Powershell 脚本,它使用 MSWord 文档执行一些修改。在脚本的开头 PS 打开文档:
$word = New-Object -ComObject Word.Application
$desktop_path = [Environment]::GetFolderPath("Desktop")
$doc = $word.Documents.Open("$desktop_path" + "blabla.docx")
但是随着需求的变化,我现在需要在一个已经打开的文档中运行这个 PS 脚本。是否有任何选项可以强制PowerShell 查找打开的文档(例如通过名称)并“连接”到它?
仅供参考:我想要获得的序列是:我打开文件,启动一些宏,从 VBA 调用我的 PSScript(这里我需要 PS 能够“获取”打开的文档),启动其他宏。
非常感谢您!
【问题讨论】:
-
为什么不更改顺序以通过 powershell 运行宏?
$doc.run("Macro01")运行一个名为“Macro01”的宏? -
感谢您的回复。关键是宏是使用热键启动的,这取决于用户的选择......并且通过PS执行了一些功能,无论如何,我会考虑的,谢谢。
标签: powershell ms-word office-interop com-interop