2012-06-12 25 views
2

過去,如果我們想在後臺運行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上,我收到了錯誤信息。

回答

0

只需使用MsoTriState enumerator

$app.visible = [Microsoft.Office.Core.MsoTriState]::msoTrue 

$app.visible = [Microsoft.Office.Core.MsoTriState]::msoFalse 
+0

感謝答案測試。使用$ app.visible = [Microsoft.Office.Core.MsoTriState] :: msoFalse 仍然會收到錯誤消息。 –

+0

嘗試從這裏給出一些提示:http://naimishpandya.wordpress。com/category/power-point-office-automation /對不起,但我現在不能轉換和測試它的PowerShell,但我相信它可以工作。 –

+0

對不起,錯誤的鏈接。試試這個:http://naimishpandya.wordpress.com/2010/12/31/hide-power-point-application-window-in-net-office-automation/ –

0

我可以做辦公室2010年相同。例如,顯示和隱藏字:

$word = New-Object -ComObject Word.Application 
$word.Visible=$true 
$word.Visible=$false 
+0

這適用於excel或word,但不適用於powerpoint。 –

+0

是的,我可以顯示窗口,但我不能隱藏它,$ pp.Visible = [Microsoft.Office.Core.MsoTriState] :: msoFalse 異常設置「可見」:「應用程序(未知成員):無效的請求。隱藏應用程序窗口是不允許的。「 –

+0

是的。請閱讀我的答案中的評論。 –

1

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(因人而異其他版本)

相關問題