1

現在、メールアイテムと添付ファイルを SQL データベースに保存できる Outlook アドインを開発しています。

添付ファイル付きの MailItem が保存されると、メッセージが保存され、添付ファイルが保存されるという 2 つのカテゴリが MailItem に追加されます。

添付ファイルが 1 つだけの MailItem を追加すると、以下に示すようにカテゴリが正しく追加されます。右

しかし、2 つ以上の添付ファイルを含む MailItem を保存すると、次のようになります。 違う

これはカテゴリを追加するためのコードです:

foreach (Outlook.Attachment att in mailItem.Attachments)
{
    try
    {
        att.SaveAsFile(Path.GetTempPath() + att.FileName);

        var fi = new FileInfo(Path.GetTempPath() + att.FileName);

        var attachment = Attachment.NieuwAttachment(att.FileName,
                                                    SelectedMap.DossierNr.ToString(
                                                        CultureInfo.InvariantCulture), -1,
                                                    Convert.ToInt32(SelectedMap.Tag), fi);
        if (!Attachment.InlezenAttachment(attachment)) continue;

        //if attachment is being saved add "attachment saved" category to mailitem
        mailItem.Categories = string.Format("{0}, {1}", OutlookCategories.CategorieBijlage, mailItem.Categories);
        mailItem.Save();
    }
    catch (Exception ex)
    {
        var dmsEx = new DmsException("Er is een fout opgetreden bij het opslaan van een bijlage.",
                                     ex.Message, ex);
        ExceptionLogger.LogError(dmsEx);
    }
}

誰でもこれで私を助けることができますか???

4

1 に答える 1

2

カテゴリが既に存在するかどうかを確認するチェックを追加する必要があります。

これを使って:

if (!mailItem.Categories.Contains(OutlookCategories.CategorieBijlage))
{
     //if attachment is being saved add "attachment saved" category to mailitem
     mailItem.Categories = string.Format("{0}, {1}", OutlookCategories.CategorieBijlage, mailItem.Categories);
     //Opslaan van MailItem.
     mailItem.Save();
}
于 2013-12-06T11:42:18.607 に答える