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

How to hide Visio 2013 when using interop assembly in PowerShell

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

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.ApplicationMicrosoft.Office.Interop.Visio.InvisibleApp 创建应用程序对象,但找不到正确的语法。

如有任何帮助,我们将不胜感激。

你可以试试这个:

$visio = New-Object -ComObject Visio.InvisibleApp
$visio.Quit()

请注意,不是必须使用 Add-Type(但是您也可以使用 Add-Type,在这种情况下尝试 Microsoft.Office.Interop.Visio.InvisibleAppClass

顺便说一句,PS 中有一个使用 Visio 的库: https://visioautomation.codeplex.com/