Private void OpenDocument(string FileName)

{

//открываем Word

wordApp = new Microsoft.Office.Interop.Word.Application();

//создаем документ на основе шаблона

Object template = Application.StartupPath + @"\docs\" + FileName;

Object newTemplate = false;

Object documentType = Microsoft.Office.Interop. Word.WdNewDocumentType.wdNewBlankDocument;

Object visible = true;

//добавляем документ в список документов приложения

wordDoc = wordApp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);

}

Следующие три метода предназначены для поиска и замены в тексте документа. С их помощью и будут заменяться метки в шаблоне на конкретные значения, полученные из программы.

Public void ReplaceText(string word, string repl)

{

// Смещаем выделение к началу документа

Object unit = Microsoft.Office.Interop. Word.WdUnits. wdStory;

Object extend = Microsoft.Office.Interop. Word. WdMovementType.wdMove;

wordApp.Selection.HomeKey(ref unit, ref extend);

//создаем объект Find для поиска текста

Microsoft.Office.Interop. Word.Find fnd = wordApp.Selection. Find;

//очищаем его настройки

fnd.ClearFormatting();

//задаем текст для поиска

fnd.Text = word;

//очищаем настройки для замены

fnd.Replacement.ClearFormatting();

//задаем текст для замены

fnd.Replacement.Text = repl;

//запускаем процесс поиска и замены

ExecuteReplace(fnd);

}

Private Boolean ExecuteReplace(Microsoft.Office.Interop.Word. Find find)

{

return ExecuteReplace(find, Microsoft.Office.Interop.Word. WdReplace.wdReplaceAll);

}

Private Boolean ExecuteReplace(Microsoft.Office.Interop.Word. Find find, Object replaceOption)

{

Object findText = Type.Missing;

Object matchCase = Type.Missing;

Object matchWholeWord = Type.Missing;

Object matchWildcards = Type.Missing;

Object matchSoundsLike = Type.Missing;

Object matchAllWordForms = Type.Missing;

Object forward = Type.Missing;

Object wrap = Type.Missing;

Object format = Type.Missing;

Object replaceWith = Type.Missing;

Object replace = replaceOption;

Object matchKashida = Type.Missing;

Object matchDiacritics = Type.Missing;

Object matchAlefHamza = Type.Missing;

Object matchControl = Type.Missing;

Return find.Execute(ref findText, ref matchCase,

Ref matchWholeWord, ref matchWildcards, ref matchSoundsLike,

Ref matchAllWordForms, ref forward, ref wrap, ref format,

Ref replaceWith, ref replace, ref matchKashida,

ref matchDiacritics, ref matchAlefHamza, ref matchControl);

}

Для запуска процесса формирования приглашения поместите на главную форму программы кнопку «Приглашение». Текст ее обработчика с комментариями приведен ниже:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: