次の方法で共有


Excel のコントロールのグローバリゼーションに関する考慮事項

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2003

  • Excel 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

既定では、Microsoft Office Excel のホスト コントロールは、マネージ コードを使用して渡したり操作したりするすべてのデータの形式が英語 (U.S.) 書式を使用して設定されている限り、Windows の地域設定で正常に動作します。この動作は、ExcelLocale1033Attribute に true が設定されている限り、有効になります。詳細については、「さまざまな地域設定を使用した Excel のデータの書式設定」を参照してください。

ただし、ExcelLocale1033Attribute を false に設定した場合、エンド ユーザーが英語バージョンの Excel を使用する際に Windows の地域設定が英語 (U.S.) 以外の地域用に指定されていると、ホスト コントロールは正常に動作しません。この問題は、多言語ユーザー インターフェイス (MUI) パックをインストールすると解決できます。

ExcelLocale1033Attribute が False の場合

データ バインディングやイベントなどの Excel のホスト コントロール機能は、プライマリ相互運用機能アセンブリ (PIA: primary interop assemblies) を使用して Microsoft Office Excel オブジェクト モデルを呼び出すことで動作します。"en-US" 以外の環境の英語バージョンの Excel でソリューションを実行する場合、ユーザーのホスト コントロールに対する操作により、COM オブジェクト モデルをプログラムで明示的に呼び出した場合と同じエラーが発生する可能性があります。

たとえば、NamedRange コントロールをダブルクリックしても、このコントロールの BeforeDoubleClick イベントが発生しないことがあります。これは、イベントが名前付き範囲内で発生したかどうかを確認するために、Excel オブジェクト モデル内のメソッドが呼び出されるためです。このメソッド呼び出しに渡されるロケールが英語 (U.S.) 以外の場合、メソッドはエラーになり、イベントは発生しません。ローカライズされたバージョンの Excel を使用するか、英語バージョンの Excel と MUI パックを使用すると、このようなエラーは起こりません。

参照

処理手順

方法 : リフレクションを使用して Excel 内のリテラル文字列を領域保護する

概念

さまざまな地域設定を使用した Excel のデータの書式設定

Office ソリューションのグローバリゼーションとローカリゼーション

ホスト項目とホスト コントロールの概要