2016-12-16 36 views
0

テンプレートの.docxファイルを使用して、プレースホルダを置き換える必要があります。私はc# word interop find and replace everythingのコードを使って、私の単語ファイルの名前を置き換えました。それはうまく動作します。ファイルを開かずに.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(); 

この実装では、「ファイル」という単語が開きます。 私の質問は、ファイルを開かずにテキストを置き換える方法があればどうですか?

+0

「ファイルを開かずに」と言うときは、ファイルを開かずにファイルを開くことを意味するのですか、単語ファイルが開かれたことをユーザーに見せたくないだけですか? (私はそれがタスクバーなどに現れてはいけません) – Bassie

+0

@Bassie Andrejs Mivreniksは、それを開くことなく方法がないと説明したので、単語ファイルが開かれたことをユーザーに見せたくありません。 –

+0

私は自分自身の答えを追加したのはあなたの後でしたか? – Bassie

答えて

0

ファイルを部分的に変更するには、最初に開く必要があります。アプリケーションのメモリなどに格納されたコンテンツを毎回完全に書き換えることを除いて、他の方法はありません。

0

あなたは、単にこのパラメータを変更する、それがユーザーのために開かれているという事実を隠したい場合:

Visible: false 

ファイルがまだ開かれますが、それはウィンドウが表示されません。

これは、ファイルが正常に開いたときと同じ方法でファイルに影響を与えます(他のユーザーがそれを編集できないなど)。

関連する問題