如何在PowerShell中使用互操作程序集时隐藏Visio 2013

如何在PowerShell中使用互操作程序集时隐藏Visio 2013,powershell,office-interop,visio,powershell-4.0,visio2013,Powershell,Office Interop,Visio,Powershell 4.0,Visio2013,我愿意通过PowerShell无声地运行Visio 2013。 目前,我使用以下代码: Add-Type -Path 'Microsoft.Office.Interop.Visio.dll' $visio = New-Object Microsoft.Office.Interop.Visio.ApplicationClass $visio.Visible = $false $visio.Quit() 代码可以正常工作,但在隐藏Visio闪屏之前,我短暂地看到了它。 我想使用Microsoft

我愿意通过PowerShell无声地运行Visio 2013。 目前,我使用以下代码:

Add-Type -Path 'Microsoft.Office.Interop.Visio.dll'

$visio = New-Object Microsoft.Office.Interop.Visio.ApplicationClass
$visio.Visible = $false
$visio.Quit()
代码可以正常工作,但在隐藏Visio闪屏之前,我短暂地看到了它。 我想使用Microsoft.Office.Interop.Visio.application或Microsoft.Office.Interop.Visio.InvisibleApp创建应用程序对象,但找不到正确的语法

非常感谢您的帮助。

您可以尝试以下方法:

$visio = New-Object -ComObject Visio.InvisibleApp
$visio.Quit()
请注意,使用“添加类型”不是必须的(但是您也可以使用“添加类型”,在本例中,请尝试使用Microsoft.Office.Interop.Visio.InvisibleAppClass

顺便说一句,有一个用于从PS使用Visio的库:

谢谢你的帮助,为什么你说它不是必须使用的
添加类型
新对象Microsoft.Office.Interop.Visio.InvisibleAppClass
工作正常,这是对.NET Interop的调用。我假设使用.NET Interop比使用COM对象更好,我错了吗?基本上是一样的,只是编写方式不同-这它是这样短的:)