2016-12-16 55 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 

该文件将仍然被打开,但不会显示一个窗口。

请注意,这仍然会以与正常打开时相同的方式影响文件(其他用户可能无法编辑它等)。

相关问题