2013-06-14 3 views
0

Я пытаюсь поместить вложение в формате RTF почте Outlook 2007, созданной с помощью COM:Можно ли установить положение вложения в MailItem?

using Outlook = Microsoft.Office.Interop.Outlook; 
// ... 
private static void CreateMailWithAttachment() 
{ 
    Outlook.Application ol = new Outlook.Application(); 
    Outlook.MailItem mail = (Outlook.MailItem) ol.CreateItem(Outlook.OlItemType.olMailItem); 
    mail.BodyFormat = Outlook.OlBodyFormat.olFormatRichText; 
    mail.Subject = "Important e-mail"; 
    mail.Body = "1234567890 1234567890 1234567890"; 
    mail.Attachments.Add(@"c:\myfile.txt", Outlook.OlAttachmentType.olByValue, 2); 
    mail.Display(); 
} 

documentation of Attachments.Add прямо не сказать, что происходит, когда значение между 2 и длиной почты используется:

Этот параметр применяется только к сообщениям электронной почты в формате Microsoft Outlook Rich Text: это позиция, в которой вложение должно быть помещено в основной текст сообщения. Значение 1 для параметра Position указывает, что вложение должно быть расположено в начале тела сообщения. Значение 'n', превышающее количество символов в элементе элемента электронной почты, указывает, что вложение должно быть помещено в конец. Значение 0 делает приложение скрытым.

Я вижу следующее поведение:

  • 0: Работает, как описано, привязанность скрыта.
  • 1: Не работает, как описано, прикрепление находится в конце корпуса.
  • > 1: Прикрепление находится в конце тела.

То же самое при запуске Outlook с аргументами командной строки /noextensions или /safe.

Можно ли разместить приложение в середине почты? Я что-то упускаю?

+0

Вы пытались использовать свойство RTFBody вместо Body? –

+0

@SimonMourier: RTFBody недоступен в Office 2007. – Martin

ответ

0

Я думаю, это KB967677, хотя я уверен, что патч установлен. Он отлично работает с Outlook 2003.

Извините, что беспокоиться.