как получить изображение для вставки из текущей электронной почты Outlook с помощью С#?

Я разрабатываю надстройку Outlook 2010 с помощью c#.net в Visual Studio 2010.

Я хочу вставить изображение из текущего электронного письма (не прикрепленного) в мою область формы.

как вставить изображение из электронной почты Outlook?

Я пытался узнать из Google, но все они показывают, как вставлять изображение в электронную почту. но я хочу получить встроенное изображение из электронной почты Outlook.

Кто-нибудь может мне помочь ?


person Mausami    schedule 16.01.2013    source источник


Ответы (1)


Вы должны иметь возможность использовать: Microsoft.Office.Interop.Outlook. Вот огромный список элементов в пространстве имен. Возможно, вам придется относиться к нему как к привязанности; сохраните его в другую папку. Затем рекурсивно вытащите данные оттуда.

private void ThisApplication_Startup(object sender, System.EventArgs e)
{
    this.NewMail += new Microsoft.Office.Interop.Outlook
        .ApplicationEvents_11_NewMailEventHandler(ThisApplication_NewMail);
}

private void ThisApplication_NewMail()
{
    Outlook.MAPIFolder inBox = this.ActiveExplorer()
        .Session.GetDefaultFolder(Outlook
        .OlDefaultFolders.olFolderInbox);
    Outlook.Items inBoxItems = inBox.Items;
    Outlook.MailItem newEmail = null;
    inBoxItems = inBoxItems.Restrict("[Unread] = true");
    try
    {
        foreach (object collectionItem in inBoxItems)
        {
            newEmail = collectionItem as Outlook.MailItem;
            if (newEmail != null)
            {
                if (newEmail.Attachments.Count > 0)
                {
                    for (int i = 1; i <= newEmail
                       .Attachments.Count; i++)
                    {
                        newEmail.Attachments[i].SaveAsFile
                            (@"C:\TestFileSave\" +
                            newEmail.Attachments[i].FileName);
                    }
                }
            }
        }
    }
    catch (Exception ex)
    {
        string errorInfo = (string)ex.Message
            .Substring(0, 11);
        if (errorInfo == "Cannot save")
        {
            MessageBox.Show(@"Create Folder C:\TestFileSave");
        }
    }
}

Это сохранит встроенные или прикрепленные элементы в каталог по вашему выбору; затем вы можете просто манипулировать этими прикрепленными элементами по своему усмотрению. Надеюсь, это, по крайней мере, указывает вам направление записи.

person Greg    schedule 17.01.2013
comment
Большое спасибо, Грег. ваш код решил мою проблему. Большое спасибо. - person Mausami; 17.01.2013