2016-12-16 80 views
0

我有一個模板.docx文件,我必須替換佔位符。我用c# word interop find and replace everything的代碼替換了我的word文件中的名字。這工作得很好。在不打開文件的情況下查找並替換.docx文件中的文本

object fileName = GetFilePath(); 
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application { Visible = true }; 
Microsoft.Office.Interop.Word.Document aDoc = wordApp.Documents.Open(fileName, ReadOnly: false, Visible: true); 

aDoc.Activate(); 

FindAndReplace(wordApp, "firstname", "Max"); 

aDoc.Save(); 

此實現打開word文件。 我的問題是,如果有什麼方法可以在不打開文件的情況下替換文本?

+0

當你說「沒有打開文件」時,你的意思是沒有打開文件,或者你只是不想讓用戶看到文件文件已經打開? (即它不應該出現在任務欄等) – Bassie

+0

@Bassie我不希望用戶看到文件已經打開,因爲Andrejs Mivreniks解釋說,如果不打開它,就沒有辦法。 –

+0

我加了我自己的答案是你以後的樣子? – Bassie

回答

0

要部分更改任何需要首先打開的文件,除了每次將內容存儲在其他位置(例如在應用程序的內存中)時完全重寫它,沒有別的辦法。

0

如果你只是想隱瞞事實,它是開放的用戶,只需更改這個參數:

Visible: false 

該文件將仍然被打開,但不會顯示一個窗口。

請注意,這仍然會以與正常打開時相同的方式影響文件(其他用戶可能無法編輯它等)。

相關問題