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


PC を買い替えたとき、古い PC から新しい PC に Outlook のデータや設定を転送するためには Windows 転送ツールが非常に便利です。

しかし、Windows XP から Windows 7 へ転送すると、移行後に Outlook で連絡先がアドレス帳に表示されなくなる現象が発生するようです。この現象が発生すると、単に表示されないだけでなく、連絡先の追加や削除もできない状態となります。
調査してみたところ、どうやら原因は Outlook アドレス帳のレジストリのデータにあるようなのですが、Outlook のユーザー インターフェイスからはこの値を初期化することができませんでした。

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

' ここをトリプルクリックでスクリプト全体を選択できます。
Option Explicit
'
Const HKEY_CURRENT_USER = &H80000001
Const MAPI_PROFILE_KEY = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles"
' Const MAPI_PROFILE_KEY = "Software\Microsoft\Office\15.0\Outlook\Profiles" ' Outlook 2013 ではこちらを使用
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, MAPI_PROFILE_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

変更履歴:

2013/07/12 Outlook 2013 対応のための記述を追加しました。

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

  1. ありがとうございました。

    チェックボックスがグレーアウトしていてどうしても先に進めなかったのですが、検索してこのページをみつけ、手順通りしたところチェックボックスが生きて、無事アドレス帳に旧連絡先の内容が表示され、新規メールのアドレス欄に一部打ち込んでCRTL+Kで候補が表示されるようになりました。

    本当に助かりました。ありがとうございます。

    Microsoftはこの問題を認識していないのでしょうかね。

    兎にも角にもありがとうございました。

  2. ありがとうございました。おかげさまでアドレス帳が使えるようになりました。
    ただ、仕訳ルールが初期化され、かつ新しいルールが作成できなくなりました。これは何が原因なのでしょうか。対処方などご指導願えれば幸いです。

    • このページのスクリプトではルールに影響は与えないはずなのですが、何かの拍子にルールが破損してしまったのかもしれません。
      ファイル名を指定して実行で下記の通り入力して実行してみてください。

      outlook.exe /cleanfreebusy

  3. とても助かりました、ありがとございました。
    半日悩んでも解決せず非常に困っておりました

    記事通りのパターンでXpProから7homepremiumへの移行で同現象に合いました。
    お陰様でメールが使いやすくなりました、ありがとうございました。

  4. 復元ポイントに戻りもう一度スクリプトを実行したら仕訳ルールもしっかり機能しました。スクリプト自体には何ら問題はなかったようで大変失礼しました。対策を考えていただき感謝しています。本当にありがとうございました。

  5. 数時間悩んでおりましたが無事上記事項を実行したところ解決に至りました。ありがとうございました。

  6. 私も数時間悩みここにたどり着いたのですが、あまりPCに詳しくないため、まだ解決できません。上の水色になっている部分をトリプルクリックですべて選択、メモ帳にペーストしてyoko.vbsというファイル名称でデスクトップに保存しました。ですがこれをいくらダブルクリックしてもなにも反応しません。当然Outlookのアドレスも解決しないままです。何がいけないのかわからないのですがアドバイスいただけますでしょうか。Windows7 (32bit), Outlook 2010を使っております。よろしくお願いいたします。

    • 実行しても何も表示は変わらないかもしれませんが、おそらくアドレス帳の一覧はリセットされていると思います。
      連絡先フォルダのプロパティで [電子メールのアドレス帳にこのフォルダーを表示する] をオンにしてください。

      • ありがとうございました。おっしゃる通りでした。いくつか連絡先のフォルダがあり、「連絡先」というフォルダのプロパティのみを見ていたのが原因でした。ほかのフォルダはみなチェックができるように変わっていて、ちゃんと使えるようになりました。「連絡先」フォルダだけはチェックはされていますがいまだに灰色になっていて、チェックははずせませんが、きちんとメールから連絡先を参照できるようになりました。大変助かりました。ありがとうございました。

  7. いろいろなサイトを探し回ってできるだけのことをやっても、いっこうに解決せず困っていました。
    すっきり解決しました!本当に助かりました。ありがとうございました。

  8. 昼過ぎから・・・4時間くらい悩んでたどり着きました♪

    本当に有難うございました。

  9. スクリプトを実行することでチェック可能となりました、ありがとうございます
    しかしOUTLOOKを終了し再起動すると、先ほどチェックを入れた部分がまた元に戻っており
    起動するたびにチェックを入れなければなりません、他にも設定が必要なのでしょうか

    • チェックが入れられる状態になれば、本来なら再起動後にチェックが外れることはないはずなのですが…
      何か別のトラブルが起こっているのかもしれません。
      プロファイルを作り直してみてください。

  10. 半日以上悩みました・・・
    本当に助かりました。
    有難うございました。
    この問題をスルーしているマイクロソフトに殺意が湧きました・・・
    感謝してもしきれません。

  11. 初心者です
    .txtを.vbsへ変更するには、どうしたらよいのでしょうか?
    よろしくお願いします

    • 名前を付けて保存を行う際に、既定で拡張子が .txt となっているところを .vbs に変更してください。

      • ありがとうございました
        無事に完了いたしました。
        感謝いたします!

  12. 助かりました。
    今日朝から半日間、アドレス帳のエクスポートとインポートを何回も試しうまくいかず、いろいろ探してこのページにたどり着きました。
    本当に感謝します。

  13. 本当に助かりました。午後からずっと困り果てていましたところ、こちらに辿り着きました。
    紹介されている方法でアドレス帳が使えるようになりました。大変感謝しています。ありがとうございました。

  14. すばらしい!ずっと一日中悩んでたことがバカみたいでした。ありがとうございました。

  15. 何とかこのサイトに辿り着き、無事解決しました!
    本当にありがとうございました!

  16. 初心者です。renrakusaki.vbsで保存してダブルクリックしてみたのですがうまくいきません。
    Windows Script Hostというエラーメッセージが出てしまいます。
    メッセージの内容は、
    スクリプト: C¥Users¥PCUser¥Desktop¥renrakusaki.vbs
    行: 24
    文字: 1
    エラー: 型が一致しません:’UBound’
    コード: 800A000D
    ソース: Microsoft VBScript 実行時エラー
    というものです。
    何がいけないのでしょうか?
    (ちなみにスクリプトの1行目の日本語文は消していいんですよね?)
    よろしくお願いいたします。

  17. ありがとうございました。
    いろいろなサイトに行って、解決をしようとしましたが、全然うまくゆかず途方に暮れていました。
    残念なのはこのありがたいサイトにたどりつくのが、非常に遅れたことです。
    無駄な作業を延々と続けてしまいました。
    とにかく、感謝です。

  18. Outlook2010でこのトラブルに遭遇し、このスクリプトのおかげで解決できました。
    とても助かりました。ありがとうございます。

  19. XP→Win7へ移行ツールを使用してデータ移行を行っていたところ、この問題にぶち当たりました。
    そんな時、このサイトにたどり着き、無事に解決することができました。
    本当に感謝です!ありがとうございました!!!

  20. outlook2003(XP)から、outlook2010(win7)に転送ツールで移行し、この症状が発生。1week位解決方法を探して諦めかけていましたがこちらのサイトにたどりつけて良かったです。vbsファイルの実行でグレーアウトしていたチェックボックスがチェック可能になり解決しました。とても助かりました、有難うございます。
    しかし、おなじoutlook同士の移行でこんなやっかいな不具合が起きてしまうのは残念です・・・。時間と労力をかなり消費してしまいました。。。

  21. Outlook2007(Vista)からOutlook2010(7)でも同様でした。
    ありがとうございます。

  22. 色々さまよいましたが一発で解決しました。これで今日の睡眠時間が増え、ぐっすり眠れます。
    ありがとうございました。

  23. Outlook2007(Window7)からOutlook2010(Windows8)へ転送ツールでデータを移動させ、この事象が現れました。アドレス帳をiCloudと連携させていたので、iCloudのほうから疑い始めましたがどうにも治らず、このサイトにたどり着きました。切り分けにかかった6時間が無駄にならず、助かりました。ありがとうございました。

  24. Outlook2007(Vista)からOutlook2010(Windows7)へ転送ツールで移行したところ、
    この問題が発生して困っていました。
    こちらのサイトのおかげで解決しました。
    ありがとうございました。

  25. 助かりました~!!!
    2時間ほど検索をしてこの記事を見つけて
    騙されたと思って試してみたら
    無事に連絡先が使えるようになりました♪

    ありがとうございます!

  26. おそるおそる試してみましたが、完璧に直りました。
    本当に、助かります。
    すばらしい!
    ありがとうございました。

  27. 検索する事数日…解決の兆しが見えました。
    スクリプトを実行することでチェック可能となりました。(感動)
    9.の方の症状が・・・ プロファイルを新規に作成しました
    初期状態になってしまいましたので、エクスポートとインポートで・・・と思い
    エクスポートしようと思ったら『メッセージングインターフェイスによって原因不明のエラーが返されました』受信トレイ修復ツールも試しましたが、改善されず…どうしたらいいでしょうか

    • インポート・エクスポートの機能が正しくインストールされていないように思われます。
      Office の再セットアップを実行してみてください。

  28. パソコンを新しくしてから、ずっとアドレス帳に連絡先が表示されず、半日以上悩んでいました。
    実行したら、グレーアウトしていたチェックボックスが・・・!
    感動して「おお!」と声を出して喜びました。
    ありがとうございました!!とっても助かりました!!

  29. 昨夜はこの件で悩んで寝不足でしたが、今朝このスクリプトでよみがえったアドレス帳を見て、すっかり目が覚めました。
    今夜は熟睡できそうです。
    本当にありがとうございました。

  30. このスクリプトはOutlook2013でも同じように使うことができますか?
    実行してみたのですがうまくいきませんでした。。。
    プロファイルを作りなおした方が良いのでしょうか。

    • 試しにプロファイルを作りなおしてみたところ、うまく行き、無事解決しました。
      大変助かりました。ありがとうございました!

  31. 私の場合、7Proでシステムドライブだけクリーンインストールし直した時に、設定の移行だけと転送ツールを使った所この事象が発生しました。自力を断念した後、ダメ元でOfficeのHelpとMSのKnowledgebase参照しましたが適合する記載がなく、一般検索でこちらにたどり着いて一発で直って感動しました。本当にありがとうございました。

  32. outlook2003(XP)からoutlook2013(7)への移行で同じ症状がでました。
    書かれているとおりにやったつもりなのですが、まだチェックボックスがグレーアウトしたままです。
    「Outlook 2013 対応のための記述を追加しました。」と書かれていますが、これはスクリプトを書き換えて
    対応していただいたということでいいのでしょうか?他のページに何か対応が書かれているのかと思い7月12日前後のページを探してみたのですが・・・。
    お忙しいところ質問をして大変申し訳ありません。的外れな質問かもしれませんがご容赦ください。
    40の方の書かれていることを参考に自分でももっと色々やってみます。

  33. 自分もうまくいきました、ありがとうございます!
    win7 outlook2010からwin8 outlook2013で転送ツールで移行でしたが
    表題の状況になってしまい、色々と調べて原因はここにあることまでは行き着いたのですが、
    お手上げでした。本当に助かりました。ありがとうございました!

  34. ありがとうございました!
    色々探して試しましたがすべてダメでしたが
    こちらの方法をやったらできました!
    本当にうれしいですし助かりました!!

  35. ありがとうございます!
    マイクロソフトのページを見ても解決せず、どうしたらいいのかと途方に暮れていました。
    見事に解決しました!
    ありがとうございました。

  36. はじめまして、藁をもすがる思いで御相談です。転送ツールを使ったわけではありませんが、急にアドレス帳での検索ができなくなってしまいました。私もこのような作業には疎く、自信がないのですがこのような場合でも適用するやり方なのでしょうか?
    ぶしつけで恐縮ですが、ご助言いただければ幸いです。よろしくお願いします。

    • 検索できない原因がプロファイルのアドレス帳情報の破損なのであれば、このスクリプトで解消できると思います。
      これで解消できなければ、一度プロファイルの再作成を試してみてください。

  37. 回答いただきありがとうございます。
    青色で囲われた部分すべてをコピーしディスクトップにテキストで保存。拡張子をvbsに変えて保存したファイルをダブルクリックしましたが、開きません。
    手順において、不備な点がありましたでしょうか?
    また、この作業をするときはoutlookは立ち上げておいていいんですよね。

    また、プロファイルの再作成とはすべてのアドレスを登録し直すということでしょうか?

    恐れ入りますが、お手すきで回答いただければ幸いです。

    よろしくお願いいたします。

    • このスクリプトは実行してもダイアログなどが出ないのですが、ダブルクリックした後、Outlook を再起動してもアドレス帳は表示されませんでしょうか?
      また、このスクリプトを実行する際には Outlook は終了させておく必要がありますので、もしうまく動作しないようでしたら、一度 Outlook を終了した状態でスクリプトを実行してみてください。
      なお、プロファイルの再作成はメールアカウントの設定をやり直す必要がありますが、受信済みのメールや連絡先に登録したアドレスなどは元の PST からインポートすることができます。

  38. ていねいに対応いただきありがとうございました。
    確かに、状態が少し変わったように思われます。まだ残る症状としては新規作成で宛先やCCのアイコンをクリックして検索するときにほとんどの人が検索できません。
    他の理由でそうなってしまったのかもしれません。
    ここまでありがとうございました。
    もう少し試行錯誤してみます。

  39. 試行錯誤の結果、うまく行きました。
    同じような悩みをもっている方にアドバイスさせていただくと
    (1)「ここをトリプルクリックでスクリプト全体を選択できます」の部分は、
      クロームからではうまく選択できず、エクスプローラーからうまく選択できました。
    (2)vbsファイルを動作させるためには、Windows 7 の場合、
       「登録されているファイルの拡張子は表示しない」を外した方がやりやすいです。
       これは、コントロールパネル→デスクトップのカスタマイズ→フォルダーオプション→表示
       で一覧の中からチェックボックスを外すことで可能です。
       vbsについては、
       http://www.geocities.jp/g_daizu/whatvbs/whatvbs.html
       の記述がわかりやすいです。

  40. XPから転送ツールでWin7に移行し、Outlook2013のアドレス帳で不具合が出て困っていました。
    一日悩んでやっとこのサイトにたどり着きました。
    おかげさまで不具合解消されました。助かりました。
    本当にありがとうございました。

  41. 同じ悩みがありここにたどり着いたのですが、解決できませんでした。
    移行元はXPなのですが、移行先がwindows8なのでダメなのでしょうか。
    スクリプトを実行しても、件のチェックボックスの状態が変わらず、選択できない状態にあります。
    同じ症状の方はおられるのでしょうか。

    • Outlook 2013 をお使いでしょうか?
      その場合、
      Const MAPI_PROFILE_KEY = “Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles”
      を削除し、
      Const MAPI_PROFILE_KEY = “Software\Microsoft\Office\15.0\Outlook\Profiles” ‘ Outlook 2013 ではこちらを使用
      に置き換える必要があります。

      良くわからないようであれば、https://outlooklab.wordpress.com/2013/08/03/windows-%e8%bb%a2%e9%80%81%e3%83%84%e3%83%bc%e3%83%ab%e3%81%a7%e8%bb%a2%e9%80%81%e5%be%8c%e3%81%ab-outlook-2013-%e3%81%a7%e9%80%a3%e7%b5%a1%e5%85%88%e3%81%8c%e3%82%a2%e3%83%89%e3%83%ac%e3%82%b9/ をご覧ください。

  42.             
    19の方と同じ表示がでて、マイクロソフトのページをみたのですが、プロファイルの作成の仕方が分かりません。
    3つの項目を全部実行するのでしょうか?
    アウトルック2010から2013へ移行しました。
    バックアップを取って移行いたしました。
    上司のパソコンを初心者の私が任されまして、メールの度に不便だと言われます。
    何とかアドバイス頂けませんでしょうか?

  43. ありがとうございます

    友人のWin8.1updateで症状が出て相談を受け、たどり着きました。ありがとございます。

    「’ Const MAPI_PROFILE_KEY = “Software\Microsoft\Office\15.0\Outlook\Profiles”」の
    コメントアウトを外し、
    一行上の行の「Const MAPI_PROFILE_KEY = “Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem

    \Profiles”」をコメントアウトして、自分のWin7のoutlook2013で試したところ大成功をしたので感謝の気持ちで大喜びしながら
    友人宅を訪問しました。

    友人のWin8.1update + Outlook2013で実行したところ

    Windows Script Hostというエラーメッセージが出てしまいます。
    メッセージの内容は、
    スクリプト: C¥Users¥ueda¥Desktop¥ol.vbs
    行: 26
    文字: 1
    エラー: 型が一致しません:’UBound’
    コード: 800A000D
    ソース: Microsoft VBScript 実行時エラー

    と出て、うまくいきません。
    ちなみに26行目は「iCount = (UBound(arrServiceUIDs)+1)/16」でした。

    Win8.1では、どこかスクリプトを修正する必要があるのでしょうか。

    ちなみにプロファイルを作り直しての実行も1度試しました。

    • お世話になります。
      私も上記の様な症状で困っています。以前XP=>WIN7の転送時はこのスクリプトで助かったのですが
      Win7 32bit->Win8.1 64bitの転送実行時に同様の症状が出て、依然助かったのでこのスクリプトを実行したところ上記エラーが表示されました。

      対応策をご教授いただければ幸いです。よろしくお願いいたします。

  44. スクリプトのおかげで、メールの連絡先が利用できるようになったら、次は仕分けが動かないことに気付きました。
    しかしきっと解決はここにあると、利用者のコメントを見れば、「ファイル名を指定して実行」
    outlook.exe /cleanfreebusy
    のことが書かれていました。
    上手くいきました。
    従前のチェックマークが少し外れたようですが、それもチェックを入れなおしただけでもとのように利用できるようになりました。
    私の場合は復元ポイントには触れませんでした。
    それでうまく動いています。
    ありがとうございます。

    マイクロソフトはなぜwindows updateで解決しないのですかね?

  45. すごく助かりました。
    自分もOutlookデータを新しいPCに移行し同じような現象でアドレス帳データをメールの連絡先で使用できなくなってた状態でした。
    ヘルプを見てもそれらしい情報はなかったのですが、スクリプトを作成される方々って凄いですね。
    これで解決しました。ありがとうございます。

  46. ありがとうございました。
    社内ドメイン化に伴い転送ツールを実行したごく一部のPCでこの現象が発生しており、大変困っておりました。
    (Win7 32bit ローカルアカウント⇒ドメインアカウントへの同一機体内での転送)
    tとても助かりました。
    深く御礼申し上げます。

  47. マイクロソフトサポートの文章より
    100倍約に立ちました。
    outlook2007ですが、一瞬で解決しました。
    オフィスのサポートにこのレジストリ掲載すべきだと思うくらいです。
    本当にありがとうございます。

  48. Windows7のHDD移行に伴い本件が発生しましたが、こちらで解決しました!
    ありがとうございます。

  49. outlook2019を使用しています。

    上記コメントの中の
    エラー表示で解決ができていないのですが、
    2013→2016→

    2019のスクリプトの更新バージョンはございますか?

  50. ↑こんにちは、私も上の人と同じ2019で同じ現象でしたが、自己解決しました。

    ①Outlook 2019が起動します。. 「ファイル」タブをクリックします。. 「情報」をクリックします。. 「アカウント設定」ボタンをクリックし、表示されるメニューから「アカウント設定」をクリックします。. 「アカウント設定」が表示されます。

    ②右端の「アドレス帳」タブを開く。新規作成。その他のアドレス帳。outlookアドレス帳 を作成。
    これで直りました。

  51. office2019搭載のoutlookでも同様の「チェックボックスにチェックできない」問題を抱えていましたが、ご教示の2016スクリプトにて、見事に解決しました。ありがとございます!
    あと、Microsoft Edgeだと、「トリプルクリックでマクロ全体の選択」ができないのですね。。。Internet Explorerではすぐにできましたが。。。

カエルくん への返信 コメントをキャンセル