現象
Microsoft Windows Vista 以降の環境において、Microsoft Office Excel 2003、Microsoft Office Excel 2007、または Microsoft Excel 2010 の同一ワークブック内のシート名に "1" と "①" や "2" と "②" のように数字と同数の丸囲み数字を設定しようとすると以下のエラー メッセージが表示されて設定できません。
シートの名前をほかのシート、Visual Basic で参照されるオブジェクト ライブラリまたはワークシートを同じ名前に変更することはできません。
なお、この現象は Windows XP 環境では発生しません。
原因
Excel ではシート名を変更する際、同一ブック内に重複するシート名が存在しないかチェックを行います。Windows Vista 環境では、"1" と "①" が同一文字と認識されるため発生します。
回避策
この現象を回避するには以下のいずれかの方法を実行してください。
方法 1 : 同一ワークブック内のシート名に数字と同数の丸囲み数字を使用しない
Excel の同一ワークブック内のシート名に "1" と "①" や "2" と "②" のように数字と同数の丸囲み数字を使用しないようにします。
方法 2 : 互換モードを設定する
以下の手順で、EXCEL.EXE が "Windows XP (Service Pack 2)" の互換モードで動作するように設定を行います。
-
エクスプローラより、Office のプログラムのインストール先を開きます。環境によりますが、既定でインストールした場合は、以下の場所となります。
Office 2007 の場合 : C:\Program Files\Microsoft Office\Office12
Office 2010 の場合 : C:\Program Files\Microsoft Office\Office14 -
上記フォルダの "EXCEL.EXE" を右クリックして [プロパティ] をクリックします。
-
[互換性] タブをクリックして、[互換モードでこのプログラムを実行する] のチェック ボックスをオンにします。
-
プルダウン リストから [Windows XP (Service Pack 2)] を選択し、[適用] をクリックします。
-
[OK] をクリックして EXCEL.EXE プロパティ画面を閉じます。
-
手順 1 で開いたフォルダを閉じます。
方法 3 : "EmulateSorting" の Fix を適用する
Microsoft Application Compatibility Toolkit を使用して Windows Vista などのアプリケーション互換に関して、プログラムの変更をしなくても、設定によって以前の OS と同じように動作するように変更します。このツールで "EmulateSorting" の Fix を適用することにより、Windows API の CompareStringW() が以前の並べ替えテーブルを使用するようになります。
-
以下のマイクロソフト Web サイトにアクセスして "Application Compatibility Toolkit.msi" をダウンロードし、テスト環境に Microsoft Application Compatibility Toolkit インストールします。
Microsoft Application Compatibility Toolkit 5.5
http://www.microsoft.com/downloads/details.aspx?FamilyID=24DA89E9-B581-47B0-B45E-492DD6DA2971&displaylang=en -
互換性プログラムのインストール ファイルの作成とテストを実施します。
-
Compatibility Administrator を管理者権限で起動します。
-
[New] をクリックして作成されたカスタム データベースを右クリックします。
-
[Create New]、[Application Fix] を順にクリックします。
-
以下の情報 (例) を入力して、[次へ] をクリックします。
修正される問題の名前 : 任意の名前 (たとえば "MyFix" と入力します)
ベンダー名 : 任意の名前 (たとえば "Microsoft" と入力します)
適用するプログラムのパス :
Office 2007 の場合 : C:\Program Files\Microsoft Office\Office12\EXCEL.EXE
Office 2010 の場合 : C:\Program Files\Microsoft Office\Office14\EXCEL.EXE
注 : [運用するプログラムのパス] には、EXCEL.EXE のパスを指定します -
OS Modes で "None" を選択して [次へ] をクリックします。(右側のペインではすべてのチェック ボックスをオフにします。)
-
"EmulateSorting" のみのチェック ボックスをオンにして、[TestRun]、[OK] を順にクリックします。
-
テスト用の Excel が起動しますので、本現象の回避テストをします。
-
テスト完了後、手順 g. で起動したテスト用の Excel を閉じます。
-
[次へ]、[完了] を順にクリックします。
-
手順 b. で作成されたカスタム データベース名を選択して [Save] をクリックします。
-
任意の場所に sdb 形式で保存します。
-
-
作成した互換性プログラム ファイルをインストールします。
-
コマンド プロンプトを起動します。
-
cd コマンドで C:\Windows\system32 へ移動して、以下のコマンドを実行します。
sdbinst -p [sdb ファイルのパス] -
以下のメッセージが表示されたらインストール完了です。
<Fix 名> のインストールが完了しました。
-
補足
-
互換性プログラム ファイルをアンインストールするには、コマンド プロンプトにて以下のコマンドを実行します。
sdbinst -u [sdb ファイルのパス] -
sdbinst のオプションを確認するには、コマンド プロンプトにて以下のコマンドを実行します。
sdbinst /?
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。