outlookの「予定表の追加」で登録した予定表たちを(無理矢理)移植する

概要

  1. outlook予定表の設定を既定の.pstファイルに保存していたが、別ファイル(.ost)へ変更することになった。使っていた.pstファイルには、共有のアドレス帳から追加した他人の予定表が50件近く入っていた。
  2. インポートメニューからは色々やっても引き継げなかった。
  3. 正攻法が見つからなかったので、後述の様に(かなり無理矢理)アドレスリストを作って、一括登録した。
  4. 予定表グループや並び順は復元できなかったので、手動編集した。

詳細

まず、 C:\Users\<ユーザー名>\AppData\Local\Microsoft\Outlook\16 を開いて確認する。隠しフォルダなので、見つからなかったらエクスプローラの設定を確認する。「outlook\16」部分はOffice 2019固有だと思うので、別のバージョンでは違うかもしれない。

このフォルダの中に「AutoD.<アカウント名>.xml」というファイルがある*1。不要なファイルもあるが、多くのファイル名が「予定表」に登録しているアカウント名と一致している。

このファイル名からをテキストにして使ってしまえばいい、という話。

手順

  1. 適当なフォルダでコマンドプロンプトを開いて以下を実行する。「<ユーザー名>」部分は各PCのユーザ名が入る*2
> dir /A H /b C:\Users\<ユーザー名>\AppData\Local\Microsoft\Outlook\16 > namelist.txt
  1. 出力した namelist.txtには、ファイル名の一覧が入っている。
  2. テキストエディタで「AutoD.」と「.xml」を一括置換して、アカウント名部分だけ残す。
  3. 不要なアカウント名の行は手作業で消す(これは予定表の追加後ででもよい。)。
  4. 予定表「予定表の追加」→「アドレス帳から」で、編集したテキストファイルを貼り付ける。

この方法だと予定表グループや並び順はぐちゃぐちゃになるので、グループや整列は自力で行う。

時間が無かったので、マクロやプログラムを使う方法は避けた*3VBAならグループ設定なども抽出できるのかもしれない。

*1:よくわかっていない。なんかのキャッシュらしい

*2:簡単に言うと、隠しファイル含め、指定フォルダのファイル名だけ表示しろ、というコマンド。

*3:検索したけど上手く見つけられなかった