見出し画像

Outlookに切り替える

仕事のコミュニケーションツールが、電話やメールから、Zoom/Teamsのようなオンラインストリーミング、slack/Lineのようなチャットに変化しつつあります。

とは言え、メールの使用頻度はそこそこあります。思い返せば自分が社会人になった二十数年前は、名刺にメールアドレスが入っていることが珍しい時代。朝、会社に出社するとでUnixにログインしてキャラクターのみのメールを読み書きしてました。その後、Winbiffを使い、そしてThunderbirdを長年使ってきました。一時期、Outlookしか使えない会社に転職した時もありましたが、さらに転職したあとは、ずーとThunderbird&Lightning(カレンダー)でした。

が、先月からMicrosoft Outlookに乗り換えました(正確にはOutlook 2016)。

理由は2つ。1つ目は、職場のメールサーバーがExchange(つまり、マイクロソフトのメール&カレンダーサーバー)に切り替える。と発表され、親和性を考えて。もう1つは、担当しているお客様からTeamsのミーティングを招待された際、Outlookなら出席処理でカレンダー登録できるけど、Lightningだと手作業で登録しなければならず、煩雑なこと。で、1ヶ月使った感想は、

「切り替えてよかった!」

です。ミーティング依頼(& キャンセル)を見過ごす、紛失する恐れが減ったのは絶大です。職場に出勤していれば、打ち合わせを忘れていても、周りの雰囲気で思い出すこともありますが、在宅勤務だと気づかず、遅刻・欠席するリスクがあります。また切り替え当初は、操作に戸惑いましたが、

メール:ctrl + 1
カレンダー:ctrl + 2
と切り替えのショートカットキーと、
返信:ctrl + r
全員に返信:ctrl + shift + r
転送:ctrl + f
新メッセージ:ctrl + n
送信:ctrl + Enter
検索:ctrl + e (fでなく、eなのがとっつきにくい)
リボンの表示・非表示:Ctrl + F1
が手に馴染み始め、また、Word, Excel, PowerPoint同様にクイックアクセスツールバーを自分好みにしたり、クイックパーツとして定型文を登録し、

定型文挿入:Alt + n -> q

で挿入まで身につくと、そこそこテンポよく使えるようになりました。でも、Outlookならではの不満はいくつかあり、2つだけあげてみます

不満1.特に起動とメールの読み込みが遅い

さきほど、”そこそこ”テンポよくと書きましたが、全体的に機敏性に欠け、Thunderbird(特に64 Bit版の最新版)と比較すると遅いです。ググると色々なTipsがあり、効果の度合いは人それぞれ。ということは、Outlookそのものでなく、Office共通のライブリーもしくはOSレベルで悪さしているのでは?勘ぐります。自分のPCで効果があったのは、使わないアドインを外すでした。
あとは極力表示項目を減らし、ショートカットキーを活用して、少しでも迅速に処理できるようにしてます。
最近読んだニュースでは、Edge起動速度改善に取り組んでるようですけど、Outlookもお願いしたいです

参考:ZDNet Japan
マイクロソフト、「Edge」の起動を速くする新機能をテスト中

不満2.有効なアドインが見当たらない

職場でメールは、Outlookしか使ったことがない。という人には理解しにくいでしょうけど、Lightningには便利なアドインが多数あります。特に、宛先ミス・漏れを確認するCheck and Sendや、ショートカットキーだけでメール振り分けができるNostalgyなどは、自分にとって不可欠な機能です。

で、無いなら作るしかない。と思い、ぐぐってOutlook VBAコードを探し、自分なりに書き換えたのがこちらです。

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

'添付ファイル未登録チェック
   If InStr(Item.Subject & Item.Body, "添付") > 0 And Item.Attachments.Count = 0 Then
       '件名または本文に「添付」の文字があり、添付ファイルが0件の場合、確認ダイアログを表示
       strMsg = "「添付」の文字があります。" & vbCrLf & "添付ファイルなしで送信しますか?"

       If MsgBox(strMsg, vbYesNo + vbExclamation) = vbNo Then
           '「いいえ」の場合、送信を取り止め
           Cancel = True

           Exit Sub
       End If
   End If
   
   
On Error GoTo Exception

   Dim strAddress As String
   strAddress = vbCrLf
   Dim objRecipient As Recipient
   
   '宛先アドレス取得
   For Each objRecipient In Item.Recipients
       strAddress = strAddress & objRecipient.Name & " (" & objRecipient.Address & ")" & vbCrLf
   Next
   
   Dim strMessage As String
   '件名と宛先アドレスの確認ダイアログを表示
   strMessage = "件名:" & Item.Subject & vbCrLf & strAddress & vbCrLf & "上記の宛先に、メールを送信しますか?"
   
   If MsgBox(strMessage, vbExclamation + vbYesNo + vbDefaultButton2) <> vbYes Then
       Cancel = True
   End If

On Error GoTo 0
   Exit Sub

Exception:
   MsgBox CStr(Err.Number) & ":" & Err.Description, vbOKOnly + vbCritical
   Cancel = True
   Exit Sub

End Sub

このコードをOutlookに追加すると、メール送信した際、本文に「添付」という文字があるのにファイルが添付されてないと、

画像1

と警告し、添付ファイルに関係なく、送る際は、

画像2

と件名、宛先を毎回表示するようにできます。このVBAを組みこんだことで、ThunderbirdのCheck and Sendっぽい確認ができ、誤送信が防止できています。むしろVBAを書いて動作・試し、さらにコーディングすると、自分好みの機能拡張が、Thunderbirdより簡単だな。とさえ感じてます。

なお、最後にExcel VBAを書いたことのある人への注意点としては、

画像3

と、標準モジュールの挿入をしないで、ThisOutlookSessionにコードを書くことです。詳しいことはぐぐって調べてください。

この記事が気に入ったらサポートをしてみませんか?