Вот мой код, для вашего интереса.Во-первых, это letter.doc
файлы
Уважаемые / FirstName / / MiddleName / / LastName /:
Добро пожаловать в нашу программу.Мы стремимся предоставить вам высочайшее качество обслуживания клиентов ....
У меня также есть Dictionary<string, string> Data
, в котором хранится ключ / значение для каждого заполнителя
...
"/FirstName/" : "read from database"
"/MiddleName/" : "read from database"
"/LastName/" : "read from database"
...
И у меня есть метод, который читает файл .doc и заменяет заполнители:
oWordApp = new MSWord.ApplicationClass();
doc = oWordApp.Documents.Open(ref fileName,
ref missing, ref readOnly,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing,
ref missing, ref missing, ref isVisible,
ref missing, ref missing, ref missing);
doc.Activate();
doc.Select();
oWordApp.Selection.Find.ClearFormatting();
oWordApp.Selection.Find.MatchWildcards = true;
oWordApp.Selection.Find.Wrap = MSWord.WdFindWrap.wdFindContinue;
oWordApp.Selection.Find.Text = "/[A-Z]*/";
bool isFound = true;
while(isFound == true) {
isFound = oWordApp.Selection.Find.Execute(ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing);
if( isFound == true ) {
//use the database to do the replacing
//how to get the placeholder itself, such as "/FirstName/", "/LastName/",...
}
}