新しい Outlook で使用できない機能: アプリ フレームワーク

新しい Outlook で使用できない機能の第 2 回は「アプリ フレームワーク」についてです。

アプリ フレームワークの定義が若干不明ですが、アプリケーション全体での大きな枠組みにおける機能のサポートに関するもののようです。

Windows 用の新機能と従来の Outlook 機能の比較 – Microsoft サポートのアプリ フレームワークについての比較は以下の通りとなっています。

機能

クラシック Outlook

新しい Outlook

予定表モジュール

使用可能

使用可能

メール モジュール

使用可能

使用可能

複数ウィンドウのサポート

使用可能

使用可能

ノート モジュール

使用可能

部分的に使用可能

オフライン サポート

使用可能

今後

.pst のサポート

使用可能

今後

設定

使用可能

使用可能

タスク モジュール

使用可能

使用可能

テーマ

部分的に使用可能

使用可能

新着情報

非サポート

使用可能

ノート モジュール (メモ) が部分的に使用可能となっているのは、新しい Outlook ではメモが単独のモジュールではなく、メール モジュールのフォルダーの一覧にメモ フォルダーが含まれるという形で実装されているためと考えられます。
そして、メモ フォルダーとして認識されるのはあくまでの既定のメモ フォルダーだけで、メモのサブ フォルダーを作成していても、新しい Outlook では通常のメールフォルダーとして認識されてしまい正しく表示されません。
(これは不具合なのかもしれませんが…)

また、タスク モジュールは使用可能とはなっていますが、実際には To Do アプリと同様の UI で実装されています。
これについては従来の Outlook でも To Do アプリへの置き換えが始まっているものの、タスク モジュールは健在です。
Outlook のタスクと比較すると以下のような機能が To Do では使用できないため、タスクを使いこなしている場合は新しい Outlook では使い物にならなくなるかもしれません。

  • アイテム一覧表示の高度なカスタマイズ
  • ユーザー定義フィールドの追加
  • タスク アイテムでの以下の機能
    • 返信
    • フラグの設定
    • OneNote に送る
    • 非公開
    • 重要度 (To Do の重要度とは異なる)
    • 進捗状況
    • 達成率
    • 所有者
    • [詳細] タブの情報

設定については、おそらくオプション設定を意味すると思われますが、設定メニューは存在するものの、その内容については従来の Outlook にしか存在しない設定が多数あります。
これについては関連する項目の中で説明する予定です。

オフライン サポートは Microsoft 365 Roadmap にある通り今月展開開始予定ですが、「The first set of offline capabilities」とあるので、オフラインでできることに現時点では制限があるようです。
.pst のサポートについては今後とあるものの、Roadmap にはまだ記載がないので、使えるようになるのはまだまだ先と思われます。

そして、上記の比較表には存在しないものの、アプリ フレームワークの範疇と思われる新しい Outlook で使用できない機能には以下のようなものがあります。

ショートカット モジュール

これは、URL を Outlook に登録しておき、そのページを Outlook の内部で表示するというものです。
ただ、この機能で Web ページを表示する際に使用されるのは Internet Explorer のコンポーネントであるため、Internet Explorer をサポートしていないページの表示が正常に行えません。
実際、既定で存在していた “Microsoft Office Online” というショートカットで表示されるページが Internet Explorer を考慮しなくなったことでスクリプト エラーが表示されるようになっています。
この機能を使用しているユーザーはほとんどいないと思われるので、これが新しい Outlook に実装されることはないでしょう。

ソリューション モジュール

これは、開発者により追加されるモジュールです。
例えば、Dynamics 365 の Outlook 用の COM アドインをインストールすると、メールや予定表といったモジュールの中に Dynamics 365 のモジュールが追加され、Dynamics 365 の機能が Outlook から呼び出せる仕組みがありました。(現在ではこのアドインは廃止されています。)
新しい Outlook では COM アドインが実装されませんので、ソリューション モジュールについても実装されることはないでしょう。

Outlook Today

Outlook Today は既定のメールボックスのルートフォルダーを表示するとメールや予定、タスクの一覧が一画面で表示されるという機能で、実際には Internet Explorer の機能を使用して Outlook のデータを表示しています。
Outlook Today の表示には ActiveX コントロールが使用されているため、Internet Explorer を使う必要があるのですが、Internet Explorer 自体がすでにサポート終了となっているので、こちらも新しい Outlook に実装されることはないと考えられます。

以上のように現在はあまり使われていないような機能については実装されることはないと考えられるので、現時点で使用している機能がある場合は、今のうちから代替手段を考えておく必要があるでしょう。

新しい Outlook で使用できない機能: アカウント サポート

新しい Outlook と従来の Outlook の機能の比較について、以下の通り技術情報が公開されました。

Windows 用の新機能と従来の Outlook 機能の比較 – Microsoft サポート
しかし、ここに記載されているもののほとんどは新しい Outlook のみに実装されている機能や今後実装される予定の機能となっており、実装される予定がないと思われるものについては記載がないようです。
そのため、従来の Outlook をベースとして、新しい Outlook で実装されていない機能を調べることにしました。
ボリュームがちょっと多かったので、上記の技術情報のカテゴリごとに記事を作成し、数回に分けて公開していきます。
今回は「アカウント サポート」についてです。

技術情報のアカウント サポートについての比較は以下の通りとなっています。

機能

クラシック Outlook

新しい Outlook

職場または学校アカウント (Office 365/Entra ID)

使用可能

使用可能

Microsoft アカウント
(プロバイダーとしての Microsoft – Outlook.com、Hotmail.com など)

使用可能

使用可能

Gmail

使用可能

使用可能

Icloud

使用可能

使用可能

Yahoo

使用可能

使用可能

IMAP

使用可能

使用可能

POP

使用可能

今後

Exchange (オンプレミスとオンプレミスの ADFS)

使用可能

調査中

アカウント リソースとしての共有メールボックス/フォルダー

使用可能

使用可能

アカウントとしての共有メールボックス

使用可能

今後

まず、オンプレミスの Exchange サーバーは調査中となっており、サポートされるようになるかはまだ検討中のようです。
新しい Outlook は Ootw をベースとしているので、オンプレミス Exchange をサポートするには以下のいずれかの対応が必要になると思われます。

  • Exchange Online の Ootw からオンプレミス Exchange にアクセスする
  • オンプレミス Exchange が新しい Outlook に対応する

ただ、いずれにせよ実装は難しそうです。

また、すでに使用可能となっている IMAP や今後使えるようになる予定の POP についても、対応できない場合があります。
それは、組織内ネットワークの中に存在し、インターネットからアクセスできないサーバーです。
新しい Outlook の IMAP の実装は、IMAP を使用して新しい Outlook が直接サーバーにアクセスするのではなく、Exchange Online が IMAP サーバーからメールを取得してクラウド上にキャッシュし、それを表示するというものになっています。
そのため、ファイアウォールの内側にあり、インターネットから直接アクセスできないようなサーバーについては、新しい Outlook でもアクセスができません。
オンプレミス環境から Exchange Online への移行の際に、オンプレミスの IMAP サーバーと Exchange Online で同じメールアドレスを使用し、Outlook に二つのアカウントを追加して移行するというような方法を採用している組織もあるようですが、新しい Outlook ではこのようなことはできないということになるでしょう。

さらに、従来の Outlook のアカウント設定には以下のような機能も含まれていますが、これらについてはロードマップが公開されておらず、おそらく実装されないことになると考えられます。

・RSS フィード
・SharePoint リスト
・LDAP アドレス帳
・サードパーティの MAPI アドレス帳

RSS フィードや SharePoint リストは私も活用していた機能なので、これらがなくなるのはちょっと残念ですね。

新しい Outlook による従来の Outlook の置き換え時期 (2024 年 5 月現在)

新しい Outlook についてよく聞かれる質問として、「新しい Outlook は Microsoft 365 Apps の Outlook を置き換えるのか? 置き換えるとしたらいつになるのか?」というものがあります。
これに対する回答は 3/7 に New Outlook for Windows: A Guide to Product Availability – Microsoft Community Hub としてブログで公開されました。

このブログ記事の内容としては「置き換えるが、現時点ではいつになるのか決まっておらず、数年先になる」というのが結論になります。
しかし、段階的に行われる置き換えについて説明されているので、記事の内容をちょっと抜粋してみます。

この記事によれば、置き換えは以下の 3 つのフェーズで行われます。

Opt In: 既定は従来の Outlook となり、スイッチで新しい Outlook に切り替わる
Opt Out: 既定は新しい Outlook となり、スイッチで従来の Outlook に切り替えられる
Cutover: 新しい Outlook への置き換えが完了し、従来の Outlook への切り替えスイッチがなくなる

これらのフェーズのスケジュールについては上記の記事にある以下の図に概要が示されています。

thumbnail image 2 of blog post titled 
	
	
	 
	
	
	
				
		
			
				
						
							New Outlook for Windows: A Guide to Product Availability

そして、現在は Opt In のフェーズであり、スイッチにより切り替えることで新しい Outlook が使用できるようになります。
ただ、厄介なのは、新しい Outlook は Windows に付属のメールとカレンダー アプリも置き換えるものとなっており、こちらはすでに Cutover フェーズにあるということです。
そのため、Windows 11 の 23H2 をインストールすると、スイッチによる切り替えをしなくても、スタート メニューには新しい Outlook がメールとカレンダーの代わりに表示されている状態となりますが、これは従来の Outlook の置き換えを意味しているものではありません。

次の Opt Out フェーズがいつになるのかについては現時点で決まっておらず、遅くともこのフェーズに入る 12 カ月前にはスケジュールが公表されることになっています。
現時点 (2024 年 5 月) でそのようなアナウンスはありませんので、Opt Out は 2025 年 5 月以降は確定ということになります。

さらに、Cutover フェーズについても 12 カ月前にスケジュールが公表されることになっており、それは Opt out よりも後になるようなので、2026 年 5 月以降ということになるのでしょう。
なお、Cutover フェーズを迎えても、2029 年までは従来の Outlook のサポートは継続されるということなので、従来の Outlook からの移行期間は最短でも 5 年はあるということになります。

また、正式リリース (General Availability) の時期についてですが、上記の図では Opt out の前にリリースされるということになっています。
つまり、正式リリースされたら従来の Outlook への置き換えが行われるのではなく、正式リリース後も従来の Outlook と併用期間がしばらく続くということになります。

新しい Outlook と従来の Outlook の機能比較が New and classic Outlook for Windows feature comparison – Microsoft サポート として公開されましたが、新しい Outlook で使えないにもかかわらずこのページに記載されていない機能というのも多々あるので、置き換えにはまだまだ時間がかかるのでしょう。

Outlook で ESC キーを無効にする方法

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


お世話になります。いつも有用かつ豊富な情報のご提供をいただき、ありがとうございます。
ドラフトの作成途上で誤って Escapeキーを押してしまい、メールを消失することを避けたいです。
Escapeを押した時点で、「変更を保存しますか」と聞かれますので、ここで[はい]ボタンを押せば問題ないのですが、つい誤って、[いいえ]を押してしまい、メールを消失することのないように
マクロで制御することはできませんでしょうか。
オプションでの自動保存は1分に設定していますが、運悪くこの狭間で大きな変更を行ったメールを消してしまうことを何度も経験しました。
よろしくお願いいたします。


ご要望の動作をマクロで実装するとなると、アイテム単位のイベントを使用する必要があり、かなり面倒なことになります。
しかし、単に ESC キーを無効にするというだけなら、マクロではなくても実現は可能です。

Office 製品のグループ ポリシーには DisabledShortcutKeysList という設定があり、これを設定すると特定のショートカット キーを無効にすることができます。
例えば、Outlook で ESC キーを無効にするには以下の設定を行います。

キー: HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Office\16.0\Outlook\DisabledShortcutKeysList
名前: KeyMod1
種類: REG_SZ
データ: 27,0

データの “27” は ESC キーのキャラクター コードを表し、”,0″ は SHIFT や CTRL は使用しないことを意味します。
なお、この設定で無効化できるのはあくまでも Outlook における ESC キーのショートカットのみであり、Outlook 以外のアプリケーションや、Outlook であっても文字入力中の ESC キーなどは無効になりません。

会議出席依頼を遅延配信すると発生する問題について

誤送信対策のため、Outlook の送信ルールの遅延配信設定やアドインにより、メールの送信を数分保留するというような運用をされている方は多いと思います。
その際、メールだけでなく会議出席依頼にも遅延配信が設定されるようになっているかもしれませんが、その場合に送信トレイの会議出席依頼を開いてしまうと以下のような事象が発生します。

  • 送信トレイの会議出席依頼を開くと、その会議出席依頼が送信トレイから削除される
  • 削除済みアイテムに移動された会議出席依頼を送信トレイに移動しても送信されない
  • 会議出席依頼が削除されてしまった会議については会議の更新しか送信できなくなるが、それを送信しても出席者側では正しく処理できない

これは、会議出席依頼の特殊な動作によって発生します。

Outlook の会議出席依頼は、元になる予定表上の会議アイテムが必要となり、単独では存在できません。
そして、会議出席依頼自体の変更などは想定されておらず、何らかの変更が必要な場合は会議アイテムを変更することになります。
そのため、送信トレイの会議出席依頼を開くと、その会議出席依頼自体ではなく元になった会議アイテムが開かれ、送信トレイの会議出席依頼は削除されるという動作になります。

このような事象を回避するためには会議出席依頼については遅延配信をさせないという運用をする必要があります。
例えば、自動仕分けの送信時のルールで遅延配信を設定している場合であれば、例外条件として [会議出席依頼または会議の更新である場合を除く] を追加します。
また、マクロやアドインなどであれば、MessageClass が IPM.Schedule で始まるアイテムについては遅延配信を設定しないというものが考えられます。

アイテムの種別にかかわらず To や Cc を取得するための関数

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


お世話になります。
毎日の仕事の振り返りのヒントとして、Outlookから発信したメール、開催通知等(以後メール等と表記)を記録に残しておきたいと思っています。
以前は「ジャーナル」機能があったのでそれを使っていたのですが、現在では自動的に記録する機能がありません。

そこで、メール等がSentOnになったらExcelのファイルに追記していくOutlookVBAマクロを作ってみました。
———————–8<———————–8<———————–
Option Explicit

Dim WithEvents mySentItems As Items ‘ ItemAdd イベントをハンドルするオブジェクト

‘ Outlook 起動時に実行されるイベント
Private Sub Application_Startup()
  Set mySentItems = Session.GetDefaultFolder(olFolderSentMail).Items ‘ 送信済みアイテム フォルダーへのアイテム追加をハンドルするためのオブジェクト設定
End Sub

‘ 送信済みアイテムに移ってきたメッセージの情報をExcelファイルに追記する処理
Private Sub mySentItems_ItemAdd(ByVal Item As Object)
  Dim excelApp As Object ‘ Excelオブジェクトの作成
  Set excelApp = CreateObject(“Excel.Application”)
  Dim workbook As Object ‘ Excelファイルを開く
  Set workbook = excelApp.Workbooks.Open(“C:Users********送信ログ.xlsx”)
  Dim sheet As Object ‘ 追記するシートを選択
  Set sheet = workbook.Sheets(“送信ログ”)
  Dim lastRow As Long lastRow = sheet.Cells(sheet.Rows.Count, 1).End(-4162).Row ‘ 最終行を取得 ‘ データを追記
  sheet.Cells(lastRow + 1, 1).Value = Format(Item.SentOn, “yyyy/mm/dd hh:mm:ss”)
  sheet.Cells(lastRow + 1, 2).Value = Item.To
  sheet.Cells(lastRow + 1, 3).Value = Item.subject
  workbook.Save ‘ Excelファイルを保存
  workbook.Close ‘ Excelファイルを閉じる
  Set sheet = Nothing ‘ Excelオブジェクトを解放
  Set workbook = Nothing
  Set excelApp = Nothing

End Sub
———————–8<———————–8<———————–
上記のマクロはメールを送信したときは問題なく機能しますが、会議開催通知などの場合は
Item.To
のところでエラーになります。
(送信済フォルダに入ってくるのはメールだけとは限らないからだと思いますが)

送信したメール等はすべて記録しておきたいので、どのように修正すればよいでしょうか。
よろしくご教授ください


To プロパティと Cc プロパティについては、MailItem オブジェクトでのみ使用できるものです。
そのため、会議出席依頼に相当する MeetingItem オブジェクトでこれらのプロパティを取得しようとするとエラーとなります。
To や Cc をサポートしないオブジェクトでも、Recipients プロパティからあて先情報が取得できるので、これをもとに To や Cc の文字列を生成することでご要望は満たせるでしょう。
以下の関数は引数 objItem で指定されたメールなどのアイテムから lType で指定された種類の受信者すべての表示名を取得するものです。

Private Function GetToCc(ByVal objItem As Object, lType As Long)
     Dim strNames As String
     Dim objRec As Recipient
     strNames = ""
     For Each objRec In objItem.Recipients
         If objRec.Type = lType Then
             strNames = strNames & objRec.Name & "; "
         End If
     Next
     ' 余計な最後の ; を削除
     If strNames <> "" Then
         strNames = Left(strNames, Len(strNames) - 2)
     End If
     GetToCc = strNames
End Function

例えば、

    sheet.Cells(lastRow + 1, 2).Value = Item.To

としている個所を、

    sheet.Cells(lastRow + 1, 2).Value = GetToCc(Item, olTo)

のようにすることで、メール以外のアイテムでもエラーを発生させることなくあて先情報が取得できます。

受信トレイの返信済みメールをアーカイブ フォルダーに移動するマクロ

未返信のメールを別のフォルダーに移動するマクロ のコメントにて以下のご要望をいただきました。


はじめまして。Outlookで相手のメールに返信した時に返信した元のメールを自動でアーカイブするマクロを作りたいのですが、同じように以下のプロパティをチェックすれば作成可能でしょうか?

PR_ICON_INDEX (メッセージ一覧で表示するアイコンの指定) が 261 (返信アイコン) に変わる

PR_LAST_VERB_EXECUTED (メッセージに対して最後に実行された処理) が 102 (差出人に返信) または 103 (全員に返信) に変わる

当方、送信済みメールも受信ボックスにコピーされるように設定しており、受信ボックスの中を「送信済みメールのコピー=返信待ちメールもしくは自分のメールで終わったメール」「受信メール(未返信)=要返信もしくは相手のメールで終わったメール」のみにするのが目的です。

自分が返信したメールを受信ボックスにコピーするので、返信元のメールはアーカイブに送りたいと考えております。ご助言いただけると助かります。


自分が返信したメールを確認するのであれば PR_ICON_INDEX などでも確認はできますが、これだけだと相手が返信してきたメールが判断できず、「送信済みメールのコピー=返信待ちメールもしくは自分のメールで終わったメール」が実現できないと思われます。
Outlook オブジェクト モデルでは、Conversation オブジェクトを使用してメールのスレッドのツリーを確認できるので、件名が RE: で始まるメールの親 (返信元) のメールをアーカイブに移動するという処理を行えば、ご要望は満たせると思います。
マクロは以下の様になります。

Public Sub ArchiveOldItemInThreads()
     Dim fldInbox As Folder
     Dim fldArchive As Folder
     Dim colItems As Items
     Dim objConv As Conversation
     Dim curItem As Object
     Dim prevItem As Object
     Dim i As Integer
     ' 受信トレイの取得
     Set fldInbox = Session.GetDefaultFolder(olFolderInbox)
     ' アーカイブ フォルダーの取得
     Set fldArchive = fldInbox.Parent.Folders("アーカイブ")
     ' 受信トレイのアイテムを受信日時の降順で並び替え
     Set colItems = fldInbox.Items
     colItems.Sort "ReceivedTime", True
     ' アイテムを一つずつチェック
     For i = fldInbox.Items.Count To 1 Step -1
         Set curItem = fldInbox.Items(i)
         ' 件名が RE: で始まる場合はスレッドのチェック
         If UCase(curItem.Subject) Like "RE:*" Then
             ' Conversation オブジェクトを取得
             Set objConv = curItem.GetConversation()
             ' Conversation より返信元のメールを取得
             Set prevItem = objConv.GetParent(curItem)
             ' 返信元メールが見つかったら
             If Not prevItem Is Nothing Then
                 ' 既にアーカイブ フォルダーに移動されていなければ
                 If prevItem.Parent <> fldArchive Then
                     ' アーカイブ フォルダーに移動
                     prevItem.Move fldArchive
                 End If
             End If
         End If
     Next
End Sub

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

Outlook アドインの有効・無効に関連するレジストリ

Outlook では、アドインの有効・無効に関連する様々なレジストリがあり、それぞれ用途が異なります。
そのため、用途が異なるレジストリを誤って使用すると、想定した結果が得られないことになります。
今回は、優先度が高い順にそれぞれの用途を説明します。

1.ポリシーの AddinList


キー:
HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\16.0\Outlook\Resiliency\AddinList

名前:
アドインの ProgID

種類:
REG_SZ

値:
0 = 無効、1 = 有効、2 = ユーザー設定

用途:
管理者が特定のアドインの有効化または無効化を強制したいときに使用します。
このレジストリで設定を行うとユーザーが有効・無効の変更ができなくなるため、最も優先順位が高いといえます。
ただし、キーとしては HKEY_LOCAL_MACHINE で設定はできず、あくまでもユーザー単位のポリシーで設定するものとなります。
なお、設定する値が数値ですが、値の種類が REG_SZ となる点に注意が必要です。
また、DLL ファイルの破損やレジストリ設定の不備、アドイン自体の不具合などの理由でアドインの読み込みが失敗する場合、このレジストリで有効化を強制してもアドインを有効にすることはできません。

2.HKEY_CURRENT_USER の DisabledItems と CrashingAddinList


キー 1:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\DisabledItems

キー 2:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\CrashingAddinList

名前:
8 桁のランダムな 16 進数

種類:
REG_BINARY

値:
アドインの DLL のパスを含むバイナリデータ

用途:
Outlook がアドインの実行によるクラッシュやロードの失敗などを検知して無効化した場合に、無効化したアドインの情報を保存するために使用します。
上記のレジストリに登録されているアドインについては、Outlook の正常な動作を保つため、後述の LoadBehavior で 3 が指定されていても、アドインは無効となります。

3.HKEY_CURRENT_USER の LoadBehavior


キー:
HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\Addins

名前:
アドインの ProgID

種類:
REG_DWORD

値:
0-2 = 無効、3  = 有効

用途:

ユーザーが指定したアドインの起動時の読み込みを行うかどうかの設定です。
ユーザー単位でインストールされたアドインにはもともとキーが存在しており、インストール時に値が設定されます。
一方、マシン単位でインストールされたアドインでも、ユーザーがアドイン設定のダイアログで有効・無効の設定を変更すると、こちらの LoadBehavior が設定され、この設定が HKEY_LOCAL_MACHINE の設定より優先されます。

4.HKEY_LOCAL_MACHINE の LoadBehavior


キー:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\Addins

名前:
アドインの ProgID

種類:
REG_DWORD

値:
0-2 = 無効、3  = 有効

用途:

マシン単位でインストールされたアドインの起動時の読み込み設定の初期値です。
アドインのインストーラーで設定されますが、前述の通りユーザーで設定が変更されると HKEY_CURRENT_USER に設定が行われ、そちらが優先されます。
そのため、この設定でアドインの有効・無効を管理者が制御することはできません。

5.HKEY_CURRENT_USER の DoNotDisableAddinList


キー:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Resiliency\DoNotDisableAddinList

名前:
アドインの ProgID

種類:
REG_DWORD

値:
アドインが無効になった理由を示す値

用途:

Outlook により自動的に無効化されたアドインについて、ユーザーが無効化しないよう指定するものです。
この設定は DisabledItems に設定されたアドインでも有効にすることができるので、その点に関しては優先度が高いといえます。
しかし、ユーザーが意図的に無効化し、LoadBehavior が 0 や 2 になっている場合は、その設定が優先されてアドインが無効になります。
つまり、あくまでもユーザーが設定することを目的としているものであり、管理者がこの設定でアドインの有効化を強制することはできません。
無効化されたアドインを有効化するためのレジストリとして紹介されていることもあるため、このレジストリを展開してアドインの有効化を強制しようと考えてしまうこともあるかと思いますが、前述の通り管理者がアドインの有効化を強制するためには AddinList というレジストリ設定があり、DoNotDisableAddinList を使用するのは不適切かつ不十分です。
また、設定する値によっては、ユーザーに対して「このアドインにより Outlook の起動が遅くなりました。」のように、実際には発生していない事象が発生したかのように表示されるため、ユーザーの不安を煽る可能性があります。

Copilot が使用できない Outlook

今月から Microsoft 365 Apps の Outlook でも Copilot が使用できるようになりました。
ただ、使用できるチャネルには制限があり、半期エンタープライズ チャネルでは使用できません。
通常、Outlook に新機能が追加された場合、半期エンタープライズ チャネルには半年以上遅れて実装されるのですが、Copilot に関しては以下のような理由により半期エンタープライズ チャネルで実装されないことが Microsoft 365 Admin Monthly Digest – Feb 2024 – Microsoft Community Hub で公表されています。

The speed at which Copilot for Microsoft 365 evolves to bring the latest and greatest to your users’ fingertips makes it ineligible for users running Semi-Annual Enterprise Channel. Having updates come 6 months apart makes it extremely difficult to provide a great experience for both users and IT. This goes beyond just generative AI, as the pace of technology in general only continues to accelerate. 

要約すると、半年の一度の修正というペースでは生成 AI の進化に追いつかないということです。
同様の理由で Office 2021 LTSC や今年リリースされる予定の Office 2024 LTSC でも Copilot は使用できません。

企業ユーザーなどでは安定性などを考慮して半期エンタープライズ チャネルを使用されている場合も多いと思いますが、Copilot を使用するとなると以下のいずれかの方法をとる必要があるでしょう。

  • 最新チャネルに切り替える
  • 月次エンタープライズ チャネルに切り替える
  • 新しい Outlook for Windows に切り替える

上記のどれが良いかとなると、半期エンタープライズ チャネルからの切り替えなら月次エンタープライズ チャネルがおすすめです。
最新チャネルは新しい機能がいち早く使用可能となりますが、それに伴う不具合発生のリスクもあります。
また、新しい Outlook for Windows については更新チャネルのような概念はなく、修正が不定期に行われ、管理者でコントロールすることもできません。

しかし、月次エンタープライズ チャネルであれば、最新チャネルで見つかった重大な不具合が修正された状態でリリースされることが期待されるほか、最新とその前の二つのバージョンがサポートされており、更新の頻度を 2 カ月に 1 回とすることも可能です。

そもそも半期エンタープライズ チャネルでも毎月セキュリティ修正がリリースされており、最近はセキュリティ修正に伴う問題が半期エンタープライズ チャネルでも発生しているので、半期エンタープライズ チャネルだから安定しているとも言い切れません。
この機会に、月次エンタープライズ チャネルへの切り替えを検討するのもよいでしょう。

返信を行うマクロで [返信/転送時に元のメッセージのウィンドウを閉じる] を実装する方法

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


「返信メッセージで表示名を連絡先のものに置き換えるマクロ」を
もう何年も便利に使わせて頂いている者ですが,このマクロに一つ要望があります.

このマクロを使ってメールの返信/転送を実行しますと,
「返信/転送時に元のメッセージのウィンドウを閉じる」が効かなくなります.

これを効くように改善出来ないでしょうか.
もし可能でしたら効くようにして頂きたいのです.


マクロで ReplyAll メソッドや Forward メソッドを実行した場合、Outlook は [返信/転送時に元のメッセージのウィンドウを閉じる] の設定を参照しません。
そのため、この設定がオンでも元のメッセージのウィンドウは開いたままになります。
これを回避するには、マクロ自体で明示的にウィンドウを閉じる必要があります。
具体的には ReplyAll や Forward の直後に Close で返信元のメールを閉じるということです。
例えば、

Set objReply = ActiveExplorer.CurrentItem.ReplyAll

として返信メールを作成している場合、その次の行に

ActiveExplorer.CurrentItem.Close

と記載することで元のメッセージを閉じることができます。