送信済みフォルダーに保存されるメールにフラグを自動的につけるマクロ


コメントにて以下のご要望をいただきました。


■要望
メール送信したあと「送信済みフォルダ」に保存されるメールにフラグを自動でつけるマクロを教えてください
■使用環境
Windows7
outlook2010
■背景
受信メールにフラグを付けることでタスク管理をしています。
ほかにも送信メール内容がタスクであることが多いので、すべての送信メール済みにフラグをつけその後タスクフォルダで取捨選択する使い方をしたいと考えています。
メール送信の際、受け取る人向けにフラグを付ける方法はイメージつくのですが、送信済みのメール自身に自動でつけるマクロがわかりません。
ご教示いただきたいです。



確かに Outlook の自動仕分けの送信ルールでフラグを付けると受信者用のフラグになってしまい、送信済みアイテムにはフラグが付きません。
また、ItemSend イベントでフラグを付けようとすると、エラーになってしまいます。

このような場合、送信済みアイテム フォルダーに追加されるときのイベントでアイテムにフラグを付けることで、ご要望の動作を満たすことができます。
マクロは以下の通りです。

' ここをトリプルクリックでマクロ全体を選択できます。
Dim WithEvents mySentItems As Items
'
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Set mySentItems = Session.GetDefaultFolder(olFolderSentMail).Items
End Sub
'
Private Sub mySentItems_ItemAdd(ByVal Item As Object)
    If TypeName(Item) = "MailItem" Then
        Dim objMail As MailItem
        Set objMail = Item
        objMail.MarkAsTask olMarkToday
        objMail.Save
    End If
End Sub

マクロの登録方法やメニューへの追加について

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中