:::: MENU ::::

C.a.T!

CATch a TAIL!

Japanese sub culture and tech.

  • 2018/03/13
  • 0
develop

Outlookで全てのメールのBCCに自分を入れるマクロ

もうLINEでいいよ。

自分の会社は、Slackなど導入されずほぼメール中心のコミュニケーションなわけです。実は、Slackも使ってるんですが、一部の人の間でしか使えてない。で、メーラも技術仕様的にOutlookしか使えない。そんなわけで、しぶしぶOutlookを使っているのですが、いろいろかゆいところに手が届かない。というわけで、ちょこちょこマクロを作ってカスタマイズしています。その辺のTips第一弾。

メールを読む時、基本的にスレッドで読むようにしているのですが、自分が出したメールが抜けると情報が欠落することがある。Outlookが、送信済アイテムに溜まっているメールをスレッドに乗せたりする機能を持っているようですが、スレッドに乗らない場合もあって、なんだか不安定。そこで、確実にスレッドに載せるため、全てのメールを自分にBCCするようにしてます。よくCCに入れてる人を見かけますが、そうすると相手が返信したとき、自分のメアドが2つ入ったりすることがあって、うざいことになります。なので、BCCにしておくのがオススメ。

で、返信時に自動的にBCCに自分のメアドを突っ込むのの一番簡単な方法は、クイック操作を使う方法です。これを使うと設定だけですぐ作れます。ただ、自分はこれでは満足できずわざわざマクロで作っています。なぜかというと、このクイック操作は、リボンのボタンとして設置できないから。クイック操作専用のパレット内にしか配置できなくて、しかもボタンサイズも小さい。これは使いづらいということで、マクロにしています。マクロは、リボンにボタンとして設置できますし、でかいボタンとして設置することも可能。ということで面倒ですが、マクロを作ります。

マクロは以下。

[code lang=”vb”]
Private Const BCC_ADDRESS = "[email protected]"

Sub NewMailWithBCC()
Dim objNew As MailItem

Set objNew = Application.CreateItem(olMailItem)
Call addBCC(objNew, BCC_ADDRESS)

objNew.Display
End Sub

Sub ReplyWithBCC()
Dim objMail As MailItem
Dim objReply As MailItem

Set objMail = getCurrentMailItem()
Set objReply = objMail.Reply
Call addBCC(objReply, BCC_ADDRESS)

objReply.Display
End Sub

Sub ReplyAllWithBCC()
Dim objMail As MailItem
Dim objReply As MailItem

Set objMail = getCurrentMailItem()
Set objReply = objMail.ReplyAll
Call addBCC(objReply, BCC_ADDRESS)

objReply.Display
End Sub

Sub ForwardWithBCC()
Dim objMail As MailItem
Dim objForward As MailItem

Set objMail = getCurrentMailItem()
Set objForward = objMail.Forward
Call addBCC(objForward, BCC_ADDRESS)

objForward.Display
End Sub

Private Function getCurrentMailItem() As MailItem
If TypeName(Application.ActiveWindow) = "Inspector" Then
Set getCurrentMailItem = ActiveInspector.CurrentItem
Else
Set getCurrentMailItem = ActiveExplorer.Selection(1)
End If
End Function

Private Sub addBCC(objMail As MailItem, address As String)
Dim objRec As Recipient

Set objRec = objMail.Recipients.Add(address)
objRec.Type = olBCC
objRec.Resolve
End Sub
[/code]

BCC_ADDRESSアドレスに自分のメアドを設定すればOK。NewMailWithBCCが新規メール、ReplyWithBCCが返信、ReplyAllWithBCCが全員に返信、ForwardWithBCCが転送用のマクロです。これらのマクロ関数をボタンに割り当ててあげると、普通のボタンと同じ使い勝手になります。

—–

Leave a comment