送信前に新しいメールメッセージのカテゴリを設定する

送信前に新しいメールメッセージのカテゴリを設定する

受信するメールのカテゴリは、カテゴリ ドロップダウンを使用して簡単に設定できます。ただし、送信するメールのカテゴリを設定できるようにしたいです。送信してから、後で [送信済みアイテム] に移動することもできますが、新しいメール メッセージのリボンにカテゴリ ドロップダウンを配置して、送信する前にカテゴリを設定できるようにしたいです。ただし、リボンのカスタマイズ項目のどこにもそれが見つかりません。

タグを開いて、そこで実行することもできますが、他のリボンにあるようなクイック アクセス (受信した電子メールの分類など) を使用したいです。

誰か私に正しい方向を指し示してくれませんか?

答え1

これが必要です。カテゴリが設定されていない場合、送信操作はキャンセルされます。

プライベートサブApplication_ItemSend(ByVal item As Object, Cancel As Boolean)
    OlObjectClass としての oc を暗くする
    oc = アイテム.クラス
    oc = olMail または oc = olReport または oc = olMeetingRequest の場合
        項目.カテゴリの表示ダイアログ
        item.BillingInformation = item.Categories
        item.Categories = "" の場合、Cancel = True
    終了条件
終了サブ

BillingInformationも設定されます。改変されていない受信者が返信すると、受信した回答がすでに適切に分類されます。これを機能させるには、これも必要です。

プライベートサブApplication_NewMailEx(ByVal EntryIDCollection As String)
    arr() を文字列、i を整数として暗黙的に記述する
    Outlook.NameSpace として Dim ns
    Dim itm, m As MailItem

    エラー時に再開次へ
    ns = Application.Session を設定します。
    arr = Split(エントリIDコレクション, ",")
    i = 0 の場合、UBound(arr)
        itm = ns.GetItemFromID(arr(i)) を設定します。
        itm.Class = olMailの場合
            m = itm と設定する
            m.Categories = "" かつ m.BillingInformation "" の場合
                m.Categories = m.BillingInformation
                m.請求情報 = ""
                m.保存
            終了条件
        終了条件
終了サブ

よろしくMF

関連情報