Windows 7 上の Office 製品 を Windows XP SP3 互換モードで実行すると InStr 関数及び Replace 関数が戻り値を正しく返さない

現象
Windows 7 上の Microsoft Office アプリケーションを Microsoft Windows XP Service Pack 3 (SP3) 互換モードで実行すると、InStr 関数及び Replace 関数が戻り値を正しく返しません。
この現象は Office 2007 以降のバージョンで発生します。
原因
Office アプリケーションでは、Windows XP SP3 互換モードにおける、すべての機能の正常な動作を想定しておりません。
そのため、Access (MSACCESS.EXE)、Excel (EXCEL.EXE)、PowerPoint (POWERPNT.EXE)、Word (WINWORD.EXE)といった Microsoft Office アプリケーションに対して、Windows XP SP3 互換モードに設定するとこの現象が発生します。
解決方法
回避策
この現象を回避するには、Office アプリケーション の Windows XP SP3 互換モードを解除します。
ここでは例として、EXCEL.EXE の互換モードを解除します。
  1. Office アプリケーションをインストールしたフォルダーを開きます。既定では以下のフォルダーにインストールされています。
    OSと Office アプリケーションのビット数が同じ場合 :
    Office 2007 の場合 : C:\Program Files\Microsoft Office\Office12
    Office 2010 の場合 : C:\Program Files\Microsoft Office\Office14
    Office 2013 の場合 : C:\Program Files\Microsoft Office\Office15

    OS が 64 ビット版で Office アプリケーションが 32 ビット版の場合 :
    Office 2007 の場合 : C:\Program Files (x86)\Microsoft Office\Office12
    Office 2010 の場合 : C:\Program Files (x86)\Microsoft Office\Office14
    Office 2013 の場合 : C:\Program Files (x86)\Microsoft Office\Office15
    クイック実行 (Click to Run, C2R) 版を使用している場合 :
    Office 2013 の場合 : C:\Program Files\Microsoft Office 15\root\office15

  2. EXCEL.EXE を右クリックして、[プロパティ] をクリックします。
  3. [互換性] タブの [互換モードでこのプログラムを実行する] チェック ボックスをオフにして、[OK] をクリックします。



状況
詳細
問題の再現手順
  1. EXCEL.EXE に Windows XP SP3 互換モードを設定します。
  2. Excel を起動し、新規ブックを作成します。
  3. [Alt] + [F11] キーを押下し Visual Basic Editor を開きます。
  4. [表示] の [イミディエイト ウィンドウ] メニューをクリックして、イミディエイト ウィンドウを表示します。
  5. イミディエイト ウィンドウに以下のコードを入力して実行します。
? InStr(1,"%abc%", "abc" ,vbTextCompare)? Replace("abcdefg","c","1",1,,vbTextCompare)

結果
InStr(1,"%abc%", "abc" ,vbTextCompare) は返り値として 2 が返されることが期待されますが、実際には 0 が返されます。
また、Replace("abcdefg","c","1",1,,vbTextCompare) は返り値として "ab1defg" が返されることが期待されますが、実際には "1bcdefg" が返されます。
関連情報
2301154  Windows 7 上の Access 2007 または Access 2010 を Windows XP SP3 互換モードで実行すると InStr 関数が戻り値を正しく返さない
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:3038118 - 最終更新日: 09/29/2016 12:16:00 - リビジョン: 4.0

Windows 7 Enterprise, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate, Microsoft Office Home and Business 2010, Microsoft Office Personal 2010, Microsoft Office Professional 2010, Microsoft Office Professional Plus 2010, Microsoft Office Professional 2007, Microsoft Office Professional Plus 2007, Microsoft Office Standard 2007, Microsoft Office Ultimate 2007, Microsoft Office Home and Business 2013, Microsoft Office Home and Student 2013, Microsoft Office Personal 2013, Microsoft Office Professional 2013, Microsoft Office Professional Academic 2013, Microsoft Office Professional Plus 2013, Microsoft Office Standard 2013

  • KB3038118
フィードバック