使用 Microsoft.Office.Interop.Word 打開文檔、複製內容時,Word 應用程序會彈出可見窗口,影響自動化流程體驗。
object isVisible = true; // 這裡是關鍵!
doc = app.Documents.Open(...);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
object isVisible = false; // 改為 false 即可後台運行
var app = new Microsoft.Office.Interop.Word.Application();
app.Visible = false; // 核心設置
app.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone; // 抑制彈窗
try {
var doc = app.Documents.Open(filePath, ReadOnly: true, Visible: false);
// ... 操作文檔
doc.Close(false);
} finally {
app.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
}
Visible = false 時,ActiveWindow 可能為 null,需改用 doc.Content 或 doc.Range() 操作內容。finally 中釋放 COM 對象,否則進程殘留導致後續調用失敗。設置 Visible = false 即可實現真正的後台無感處理。