0

Visual Studio 2010でc#.netを使用してOutlook2010アドインを開発しています。

現在の電子メール(添付されていない)からフォーム領域に画像を埋め込みたい。

Outlookの電子メールから埋め込み画像を取得する方法は?

私はグーグルから見つけようとしました、しかしそれらのすべては電子メールに画像を埋め込む方法を示しています。しかし、Outlookの電子メールから埋め込み画像を取得したい。

誰か助けてくれませんか?

4

1 に答える 1

2

次を使用できるはずです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");
        }
    }
}

これにより、埋め込みアイテムまたは添付アイテムが選択したディレクトリに保存されます。そうすれば、それらの添付アイテムを好きなように操作することができます。うまくいけば、それは少なくとも書き込み方向にあなたを向けます。

于 2013-01-17T00:12:14.587 に答える