我的人力资源团队问我是否可以帮助他们为我们所有的员工制作新的名片。他们有一个 Publisher 文件,我正在尝试替换其中的文本。我已经编写了从 AD 和循环机制中提取信息的所有部分,但我无法让文本替换起作用。在使用 Word 中的Find.Execute 方法之前,我在 Microsoft Word 中做过类似的事情。这很简单,因为我只是将我的论点提供给该方法并且它起作用了。
不过这一次,我尝试使用来自 Publisher 的 FindReplace 对象。我想我在滥用它,但我不知道如何。我的代码如下,任何输入将不胜感激。抱歉,如果这是一个愚蠢的问题,但我对 PowerShell 和 .NET 还比较陌生。
$Document = "C:\Test\testcard.pub"
$Publisher = New-Object -comobject Publisher.Application
$OpenDoc = $Publisher.Open($Document)
$OpenDoc.Find.Clear()
$OpenDoc.Find.FindText = "Jane"
$OpenDoc.Find.ReplaceWithText = "John"
$OpenDoc.Find.ReplaceScope = $pbReplaceScopeAll
$OpenDoc.Find.Execute()
$OpenDoc.Save()
$OpenDoc.Close()
$Publisher.quit()