Я пытаюсь создать сообщение электронной почты Word, которое будет использоваться в качестве тела сообщения Outlook. Я просматривал пример кода от Microsoft здесь , но этот код падает при попытке создать новый документ Word в строке wordApp.Documents.Add :
Word.Application wordApp = new Word.Application();
object template = System.Reflection.Missing.Value;
object newTemplate = System.Reflection.Missing.Value;
object documentType = Word.WdNewDocumentType.wdNewEmailMessage;
object visible = false;
Word.Document wordDoc = wordApp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible);
Outlook.MailItemClass mItem = (Outlook.MailItemClass)doc.MailEnvelope.Item;
Я получил COM-исключение "Команда не выполнена". Я использую Office 2007 и попробовал:
- Ссылка на стандартные библиотеки Office 12 Word и Outlook
- Установка PIA Office XP и ссылки на библиотеки Office 12
- Установка PIA Office XP и ссылки на библиотеки Office 2000.
- Удаление PIA Office XP и ссылки на библиотеки Office 2000 / Office 2007.
Я получаю одну и ту же ошибку каждый раз,Если я изменю тип документа с wdNewEmailMessage на wdNewBlankDocument, тогда он будет работать. Но мне не нужен обычный документ Word, мне нужен EmailDocument - при приведении к типу Outlook.MailItemClass возникает ошибка при использовании документа другого типа.
В идеале хотелось бы, чтобы приложение работало на Word 2000 в Word. 2007; -)