Vibhusha Devani Ответов: 2

Как я могу создать письмо в Word из таблицы данных на C#


могу ли я создать один раз шаблон word?
Затем заполните все данные в поле шаблона word?

пожалуйста, направьте меня...и дайте какой-нибудь код, если знаете.

Что я уже пробовал:

Пропуск объекта = система.Отражение.Недостающий.Ценность;
Объект oTemplatePath = " D:\\Шаблон mytemplate.условия";

Приложение wordApp = новое приложение();
Document wordDoc = новый документ();

wordDoc = wordApp.Документы.Добавить(ссылка oTemplatePath, oMissing Реф oMissing Реф, Реф oMissing);

foreach (поле myMergeField в wordDoc.Поля)
{


Диапазон rngFieldCode = myMergeField.Код;

Строка fieldText = rngFieldCode.Текст;



// ТОЛЬКО ПОЛУЧЕНИЕ ПОЛЯ СЛИЯНИЯ

if (fieldText. StartsWith ("MERGEFIELD"))
{

// ТЕКСТ ПРИХОДИТ В ФОРМАТЕ

// MERGEFIELD MyFieldName \\* MERGEFORMAT

// Это должно быть отредактировано, чтобы получить только имя поля " MyFieldName"

Int32 endMerge = fieldText. IndexOf("\\");

Int32 fieldNameLength = fieldText. Length-endMerge;

String fieldName = fieldText. Substring(11, endMerge-11);

// Дает имена полей, которые пользователь ввел в файл. dot

имяполя = имяполя.Отделка();

// * * * * РЕАЛИЗАЦИЯ ЗАМЕНЫ ПОЛЯ ИДЕТ ЗДЕСЬ ****//

// ПРОГРАММИСТ МОЖЕТ ИМЕТЬ ЗДЕСЬ СВОИ СОБСТВЕННЫЕ РЕАЛИЗАЦИИ

если (поле == "Имя")
{

маймергфилд.Выбрать();

wordApp.Selection.TypeText ("Вибхуша");

}

}

}
wordDoc.Сохранить как("myfile.doc");
wordApp.Документы.Открыть ("myFile.doc");
wordApp.Приложения.Бросить();



--> Я должен это сделать, но на приведенном ниже коде я получаю некоторую ошибку,

Применение wordApp = новое заявление();---&ГТ;система.веб.пользовательского интерфейса.страницы.приложение представляет собой "имущество", но используется как "тип"


Document wordDoc = new Document (); - - - > не удалось найти тип или имя пространства имен "Document" (отсутствует ли директива using или ссылка на сборку?

2 Ответов

Рейтинг:
0

Parveen Siwach

Я думаю, что вы получаете эту ошибку, потому что вы не ссылались ни на одну "библиотеку объектов Microsoft Word".

This will automatically add VBIDE, Microsoft.Office.Core along with Microsoft.Office.Interop.Word as references.


После этого вам нужно использовать требуемое пространство имен, например
using Word = Microsoft.Office.Interop.Word;


Для получения дополнительной информации перейдите по ссылке ниже:

Редактирование Документа Microsoft Word Из Вашего Приложения[^]

Это может вам помочь.


Рейтинг:
0

Michael_Davies

wordApp - это не Word, а просто приложение, см. страницы MSDN о том, как использовать Word и Excel (часть Word находится внизу). Кроме того, быстро читая, вы никогда не используете документ, который в любом случае не является документом Word.

Как получить доступ к объектам Office Interop с помощью функций Visual C# (руководство по программированию на C# )[^]