Excel 2007 で Shapes オブジェクトのインデックスに不正な値 0 を指定してもエラーにならない

現象
Microsoft Office Excel 2007 において、Shapes オブジェクトのインデックスに不正な値である 0 を指定してもエラーになりません。
この現象は Excel 2007 でのみ発生します。
原因
Shapes オブジェクトのインデックスは 1 から始まりますので、不正な値である 0 を指定した場合は、Excel 2003 および Excel 2010 での動作のように、インデックスが境界を超えている旨のエラー メッセージが表示される動作が正しい動作となります。
しかしながら、Excel 2007 では実装上の問題により、本来表示されるべきエラー メッセージが表示されません。
解決方法
回避策
Excel の他のバージョンでも使用できるように、Shapes オブジェクトのインデックスは 1 から指定してください。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
詳細
問題の再現手順
  1. Excel 2007 を起動します。
  2. [挿入] タブの [図形] から任意の図形を挿入します。ここでは "正方形/長方形" を挿入します。
  3. [Alt] + [F11] キーを押下して、Visual Basic Editor を起動します。
  4. イミディエイト ウィンドウで、以下のコードを実行します。
      ?ActiveSheet.Shapes(0).Name

結果
エラー メッセージは表示されません。
イミディエイト ウィンドウには「正方形/長方形 1」と出力されます。

関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2699812 - 最終更新日: 04/09/2012 02:41:00 - リビジョン: 1.0

Microsoft Office Excel 2007

  • kbtshoot kbexpertisebeginner kbexpertiseinter KB2699812
フィードバック