Windows 転送ツールで転送後に Outlook 2013 で連絡先がアドレス帳に表示されない現象について


以前、Windows 転送ツールで転送後に Outlook で連絡先がアドレス帳に表示されない現象について回避するスクリプトを作成しました。

しかし、Outlook 2013 ではプロファイル情報を保存するレジストリ キーが変更されたため、こちらのスクリプトは Outlook 2013 に対応しないものとなっています。
スクリプトの変更方法を元の記事に追記したのですが、プログラミングの経験がない方には修正が難しいようなので、Outlook 2013 対応のスクリプトを作成しました。

スクリプトは以下の通りです。
この内容をメモ帳などで拡張子 vbs として保存し、そのファイルをダブルクリックして実行すると、既定の MAPI プロファイルの Outlook アドレス帳の設定を初期化し、連絡先フォルダが追加できるようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Option Explicit
'
Const HKEY_CURRENT_USER = &H80000001
Const OUTLOOK_KEY = "Software\Microsoft\Office\15.0\Outlook"
Const MAPI_PROFILE_KEY = "Software\Microsoft\Office\15.0\Outlook\Profiles"
Const MAPI_SERVICES_KEY = "9207f3e0a3b11019908b08002b2a56c2"
Const PR_AB_PROVIDERS = "01023d01"
'
Dim stdRegProv
Dim strDefaultProfile
Dim strProfileKey
Dim strServicesKey
Dim arrServiceUIDs
Dim iCount
Dim i,j
Dim strServiceKey
Dim arrData
'
Set stdRegProv = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
stdRegProv.GetStringValue HKEY_CURRENT_USER, OUTLOOK_KEY, "DefaultProfile", strDefaultProfile
strProfileKey = MAPI_PROFILE_KEY & "\" & strDefaultProfile & "\"
strServicesKey = strProfileKey & MAPI_SERVICES_KEY
'
stdRegProv.GetBinaryValue HKEY_CURRENT_USER, strServicesKey, PR_AB_PROVIDERS, arrServiceUIDs
iCount = (UBound(arrServiceUIDs)+1)/16
For i=0 To iCount-1
    strServiceKey = ""
    For j=0 To 15
        strServiceKey = strServiceKey & Right("0" & Hex(arrServiceUIDs(i*16+j)), 2)
    Next
    If stdRegProv.GetBinaryValue(HKEY_CURRENT_USER, strProfileKey & strServiceKey, "11026626", arrData ) = 0 Then
        Dim aDelProps
        aDelProps = Array( "101e6622", "101e6623", "101e6624", "101f6627", "101f6628", "101f6629", "11026620", "11026626" )
        For j=0 To UBound(aDelProps)
            stdRegProv.DeleteValue HKEY_CURRENT_USER, strProfileKey & strServiceKey, aDelProps(j)
        Next
        Exit For
    End If
Next
'
Set stdRegProv = Nothing

Windows 転送ツールで転送後に Outlook 2013 で連絡先がアドレス帳に表示されない現象について」への14件のフィードバック

  1. いつも助かっています。
    すみません。このvbsだけ上手くいきません。
    UBoundのエラーがでます。
    すみませんがvbではなく、レジストリを直接editしたいので、仕様を教えて下さると助かります。
    申し訳有りませんが当方、vbのデバッグができません。お手数ですが宜しくお願いします。
    環境はwin7+office2013 outlookです。

    • いつも本当に助かっています。
      何とか、レジストリーの編集方法を解析できました。
      ありがとうございました。

      関野

  2. 連絡先がアドレス帳に反映されなくて、ここ数日困っていました。
    オフィシャルのQ&Aにも記載されていませんが、2010からこの問題はあったようですね。
    スクリプトを実行することで、アドレス帳に連絡先を表示させるチェックボックスにマークできるようになりました。
    本当に助かりました。ありがとうございます。

  3. ヒントありがとうございます。 
    XP outlook2000から W8.1 outlook2013に移行したものです。
    スクリプトの実行では’UBound’エラー エラーコード800A000Dでいけませんでしたが、
    2013をアンインストールしてから、再インストールしたところ、アドレス帳に表示され
    ました。 レジストリーがリセットされたのでしょうか。

    • 本来 Outlook の再インストールではプロファイルのレジストリーはリセットされないはずです。
      プロファイルも再作成されたのでしょうか?

  4. まさに今困っているところです。上記の方とよく似ていて、XP Outlook 2002 から Windows 8.1 Outlook 2013に移行したところ、データやフォルダはなんとか移行できましたが、アドレス帳とメールアカウント設定は移行されませんでした。メール設定はマニュアルでもよいとして、アドレス帳はデータも多いので、移行ができないとなると困り果てています。
    こちらのスクリプトの実行では、Hirooさんと同様、’UBound’エラー エラーコード800A000Dで、うまくいきませんでした。2013のアンインストールまでしたくないのですが、何か方法はないでしょうか。あまりスクリプトやコーディングはできないので、何か良いヒントがいただけると助かります。

  5. やった!やっと出来ましたーーーーーーーヽ(^。^)ノ
    こちらの2013対応スクリプトで全て解決いたしました。

  6. outlook2007 win7 から outlook2013 win8.1 に転送ツールで移行させてできませんでした。
    このスクリプトを見つけて、実行してみましたが、’UBound’エラー エラーコード800A000Dで、みなさんのように困っています。
    お知恵を下さい。お願いいたします。

    • 9.Const MAPI_PROFILE_KEY = “Software\Microsoft\Office\15.0\Outlook\Profiles”の所が実際のレジストリ登録のパスと異なると’UBound’エラー が発生しちゃうみたいですね。

      regiedit.exeを起動して
      MAPI_SERVICES_KEY = “9207f3e0a3b11019908b08002b2a56c2”
      上記キーまでのパスを正しくすることで、解決しました。

      私の場合は
      “Software\Microsoft\Office\15.0\Outlook\Profiles\Outlook”
      とパスを変更して実行で解決しました。

  7. outlook2013 win7 使用しています。
    連絡先がアドレス帳に表示されなくて困っています。
    皆さんと同じようにエラーが出て解決できないでいます。
    何か方法はないでしょうか。
    困っています。よろしくお願いします。

  8. Const MAPI_PROFILE_KEY = “Software\Microsoft\Office\15.0\Outlook\Profiles”の所が実際のレジストリ登録のパスと異なると’UBound’エラー が発生しちゃうみたいですね。

    regiedit.exeを起動して
    MAPI_SERVICES_KEY = “9207f3e0a3b11019908b08002b2a56c2”
    上記キーまでのパスを正しくすることで、解決しました。

    私の場合は
    “Software\Microsoft\Office\15.0\Outlook\Profiles\Outlook”
    とパスを変更して実行で解決しました。

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中