Вставка текста в Word на C# (1 способ)
Всем доброго времени суток. На связи Алексей Гулынин. В данной небольшой статье я бы хотел рассказать об одном из способов вставки текста в Word, используя C#. Будем использовать библиотеку Microsoft Word Object Library, которая появляется после установки ПО "Microsoft Word" на рабочую станцию. Добавим ссылку на эту библиотеку в наш проект:


В документ будем записывать имя, фамилию и возраст. За позицию в документе у нас будут отвечать закладки (Bookmarks). По умолчанию, их отображение отключено. Включаются они следующим образом: Файл — Параметры — Дополнительно — Блок "Показывать содержимое документа" — Показывать закладки:

Закладки добавляются на панели "Вставка":

На скриншоте видно, что мы добавили 3 закладки. Их сейчас будем использовать в коде:
using System;
using Word = Microsoft.Office.Interop.Word;
namespace TestProjectWord
{
class Program
{
static void Main(string[] args)
{
// Создаём объект документа
Word.Document doc = null;
try
{
// Создаём объект приложения
Word.Application app = new Word.Application();
// Путь до шаблона документа
string source = @"D:\\Test.docx";
// Открываем
doc = app.Documents.Open(source);
doc.Activate();
// Добавляем информацию
// wBookmarks содержит все закладки
Word.Bookmarks wBookmarks = doc.Bookmarks;
Word.Range wRange;
int i = 0;
string[] data = new string[3] { "27", "Alex", "Gulynin"};
foreach (Word.Bookmark mark in wBookmarks)
{
wRange = mark.Range;
wRange.Text = data[i];
i++;
}
// Закрываем документ
doc.Close();
doc = null;
}
catch (Exception ex)
{
// Если произошла ошибка, то
// закрываем документ и выводим информацию
doc.Close();
doc = null;
Console.WriteLine("Во время выполнения произошла ошибка!");
Console.ReadLine();
}
}
}
}
В данной статье вы научились добавлять информацию в Word-документ, используя C#, с помощью библиотеки Microsoft Word Object Library.
В следующих двух статьях рассмотрим ещё 2 библиотеки по работе с Word-документами.
На связи был Алексей Гулынин, оставляйте свои комментарии, увидимся в следующих статьях.




