所以我想做的是:
我有一个VBA应用程序,它使用多个开放的Word-2010文档的信息。只要所有打开的文档都在同一进程中打开,此操作就会很好。但是,我不想手动打开这些文档,而是通过Powershell打开这些文档,到目前为止,我只能通过启动Word的一个新实例来打开这些文档。让我们看一看代码:
$isRunning = (Get-Process | Where-Object { $_.Name -eq "WINWORD" }).Count -gt 0
if ($isRunning) {
#Select open Word Process
**$wrd = # ???**
# Make Word Visible
$wrd.visible = $true
# Open a document
$doc = $wrd.documents.add($latest.Fullname)
}
else {
# Create Word Object
$wrd = New-object -com word.application
# Make Word Visible
$wrd.visible = $true
# Open a document
$doc = $wrd.documents.add($latest.Fullname)
}那个?标记我想在其中选择一个正在运行的Word实例,在其中我可以打开我的文档。但是,我可以找到的所有示例都是通过启动word的单独实例来调用新对象的。
另一个解决方法是将我的VBA应用程序更改为访问不同进程的文档,但我不知道这是否可能,也不知道如何做到。
无论哪种方式,任何帮助都将是非常感谢的。
谢谢。
发布于 2014-08-20 12:30:09
您可以获得这样一个正在运行的实例:
$word = [System.Runtime.InteropServices.Marshal]::GetActiveObject('Word.Application')https://stackoverflow.com/questions/25404541
复制相似问题