更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
既定では、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 のデータの書式設定