2012-04-15 13 views
2

我一直在爲此嘗試一種解決方法,很長一段時間,但還沒有找到。 在調用Documents.Close()時,使用visible = false打開的Word變得可見。Documents.Close使Word可見

這是我親密的聲明(文件已經保存,所以沒有必要再保存):

WordApp.Documents.Close(Word.WdSaveOptions.wdDoNotSaveChanges, 
    Word.WdOriginalFormat.wdOriginalDocumentFormat); 

回答

2

你可以只調用WordApp.Quit()

Office應用程序仍然遵循MDI方法:您運行1個應用程序,並在該應用程序中可以打開1個或多個文檔。

由於我們通常只打開一個文檔,因此很容易在後臺丟失該應用的蹤跡。但是在這裏有兩個關卡。

1

您也可以在操作後立即明確設置WordApp.Visible = false;這可能會導致短暫的閃爍,但應該將應用程序恢復爲隱形狀態。

爲了避免短暫的可見性閃爍,有時候使用WordApp.ScreenUpdating屬性也可以提供幫助。在嘗試撥打Documents.Close()之前將其設置爲false,然後在完成後重置爲true。

0

接受的解決方案(稱爲WordApp.Quit())對我來說不是一個可行的選擇。我試着設置

WordApp.ScreenUpdating = false 

調用Documents.Close()立即之前,但這並沒有幫助 - 我仍然有屏幕閃爍。

我又試圖打開該文件後,立即設置

WordApp.ActiveWindow.Visible = false 

。這也沒有任何區別。

最後我試着設置

WordApp.ActiveWindow.Top = -5000 

(以便移動窗口顯示效果出色了我的顯示器設置可視桌面區域 - !如果你有一個不尋常的(巨)顯示器的設置,可能無法正常工作爲此,請相應調整),並解決了問題 - 不再閃爍。

一個惱人的黑客,但工作在我的情況。

0

以上所有評論都不適用於我。我試着用:

WordApp.ActiveWindow.Top = -5000

但是我的程序與「活動窗口最大化」異常終止。

我最終解決它通過下面的調用調用之前Document.Close()

m_word.ActiveWindow.WindowState = WdWindowState.wdWindowStateMinimize;

這對我來說是完美的解決方案。希望它能爲你工作。