現象
Microsoft Windows 7 上の Microsoft Office 2003、Microsoft Office 2007 または Microsoft Office 2010 を Microsoft Windows XP Service Pack 3 (SP3) 互換モードで実行し、VBEditor を開くとマクロの全角文字の一部が削除されます。また、IntelliSense 機能が動作しません。
なお 、この環境下でコードをコンパイルすると、以下のエラー メッセージが表示され、コンパイルに失敗します。
コンパイル エラー:
メソッドまたはデータ メンバーが見つかりません。
回避策
この現象を回避するには、以下の手順で各 Office アプリケーションの互換モードを解除します。
-
Office をインストールしたフォルダーを開きます。既定では Office は以下のフォルダーにインストールされています。
Office 2003 の場合 : C:\Program Files\Microsoft Office\Office11
Office 2007 の場合 : C:\Program Files\Microsoft Office\Office12
Office 2010 の場合 :C:\Program Files\Microsoft Office\Office14 -
現象が発生するアプリケーションのプログラム ファイルを右クリックして、[プロパティ] をクリックします。
Access の場合: MSACCESS.EXE
Excel の場合 : EXCEL.EXE
PowerPoint の場合 : POWERPNT.EXE
Word の場合 : WINWORD.EXE -
[互換性] タブの [互換モードでこのプログラムを実行する] チェック ボックスをオフにして、[OK] をクリックします。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
問題の再現手順
ここでは例として、Access での再現手順を説明します。
-
MSACCESS.EXE に Windows XP SP3 互換モードを設定します。
-
空のデータベースを作成します。
-
[テーブル 1] を閉じます。
-
[作成] をクリックし [空白のフォーム] を作成します。
-
テキスト ボックスとボタンを挿入します。
-
[フォーム] をデザイン ビューに切り替え、[ボタン] のプロパティを表示します。
-
[イベント] タブの [クリック時] で [イベント プロシージャ] をクリックして […] ボタンをクリックします。
-
[クリック イベント] に、以下のコードを手入力します。
MsgBox (Me.テキスト0.Value) -
カーソルを移動します。
結果
手順 8 のコードを入力するとき、テキスト 0 の IntelliSense 機能が動作しません。
また、手順 8 で入力した全角文字の一部が消え、また、コードをコンパイルすると以下のエラー メッセージが表示されます。
MsgBox (Me.テキ0.Value)
コンパイル エラー:
メソッドまたはデータ メンバーが見つかりません。