如何使用PowerShell隐藏Office 2010应用程序?
过去,如果我们想在后台运行office 2003,2007应用程序,我们可以将“Visible”属性的值设置为$ False。但是我们不能在2010年的办公室做同样的动作,如果我把值设置为$ fasle或者“msoFalse”,它会得到如下错误信息:如何使用PowerShell隐藏Office 2010应用程序?
========== =================
异常设定“可见”:“应用程序(未知成员):无效请求隐藏在应用程序窗口是不
允许”。
在行:1字符:1
- $ app.Visible = “msoFalse”
或者
例外设置 “可见”:“无法转换的 “假” 来键入“Microsoft.Office.Core.MsoTriState”。错误:
“无效从'System.Boolean'转换为'Microsoft.Office.Core.MsoTriState'。”“
=============================
如果我将“Visible”的值设置为“msoTrue”,它工作正常,没有错误发生。
有没有人有任何想法会导致这种情况?以及如何使Office 2010应用程序在后台运行?
顺便说一句,我使用相同的动作对词,Excel 2010没有错误会发生,并且它的效果很好。但只运行在Powerpoint 2010上,我收到了错误信息。
$app.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
或
$app.visible = [Microsoft.Office.Core.MsoTriState]::msoFalse
我可以做办公室2010年相同。例如,显示和隐藏字:
$word = New-Object -ComObject Word.Application
$word.Visible=$true
$word.Visible=$false
这适用于excel或word,但不适用于powerpoint。 –
是的,我可以显示窗口,但我不能隐藏它,$ pp.Visible = [Microsoft.Office.Core.MsoTriState] :: msoFalse 异常设置“可见”:“应用程序(未知成员):无效的请求。隐藏应用程序窗口是不允许的。“ –
是的。请阅读我的答案中的评论。 –
CB。是正确的,你可以使用MsoTriState,但是它的选项并没有从PowerShell绑定中显而易见。您可以查看打开命令的定义:
PS C:\Users\jidar\Documents> $doc.Presentations.Open
OverloadDefinitions
-------------------
Presentation Open (string, MsoTriState, MsoTriState, MsoTriState)
试图按照上面的定义,我可以使用以下命令:
$doc.Presentations.Open($item, [Microsoft.Office.Core.MsoTriState]::msoFalse, [Microsoft.Office.Core.MsoTriState]::msoFalse, [Microsoft.Office.Core.MsoTriState]::msoFalse)
我没有挖被要求入msoFalse或不,所以它可能需要一些验证。
编辑:忘了提,这是在Office 2016(因人而异其他版本)
感谢答案测试。使用$ app.visible = [Microsoft.Office.Core.MsoTriState] :: msoFalse 仍然会收到错误消息。 –
尝试从这里给出一些提示:http://naimishpandya.wordpress。com/category/power-point-office-automation /对不起,但我现在不能转换和测试它的PowerShell,但我相信它可以工作。 –
对不起,错误的链接。试试这个:http://naimishpandya.wordpress.com/2010/12/31/hide-power-point-application-window-in-net-office-automation/ –