cancel
Showing results for 
Search instead for 
Did you mean: 

ActiveXのCrystalレポートビューアで、標準コントロールに表示される文字列の言語を切替える方法

Former Member
0 Kudos

以下の質問に関して、ご教授お願いいたします。

【環境】

Windows XP SP3

Crystal Reports XI R2 SP2のマージモジュール

CrystalReports11_5_RDC_Reportengine.msm

CrystalReports11_5_RDC_Runtime.msm

crviewer.dll

【背景】

ActiveXのCrystalレポートビューア(crviewer.dll)でレポートを表示した際に、

レポートビューアの標準コントロール(ボタン等のツールチップ、検索ダイアログの

表示など)で表示される文字列の言語を変更したい。

OSが英語OSの場合、これらの文字列は英語で表示されるが、他の言語(日本語等)で

表示させたい。

【質問】

1. 上記の文字列は、何から判断して表示言語を決定しているのでしょうか。

(OSの設定、レジストリ、環境変数、インストール時の設定など)

2. 表示言語を切替える方法はありますでしょうか。あるとすれば、その方法を

教えて頂けないでしょうか。

【ここまでの調査で分かっていること】

・OSの言語により表示言語が変わる。英語OSなら英語、日本語OSなら日本語が

表示される。

・コントロールパネルの「地域と言語のオプション」の設定を、色々変更したが、

上記のレポートビューアの文字列は変更されなかった。

・crviewer.dll をVisual Studioで参照したところ、対象文字列は、

多言語化されていた(複数言語の文字列が定義されていた)。

・レジストリを見たが、Business Objects関連の箇所には、言語に関する情報は

見つけれなかった。

以上、よろしくお願いいたします。

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

こちらこそ、既に試されていることを申して申しありません。

あとひとつだけ、もしかしたら、下記を試す価値があるかもしれません。

[ブラウザ ベースのロケール設定を行う|http://msdn.microsoft.com/ja-jp/library/ms227611.aspx]

私の力及ばず申し訳ありません。

他のかた是非よろしくお願いいたします。

Former Member
0 Kudos

回答ありがとうございます。

ご指摘頂いた方法は、ブラウザベースの設定方法であり、

残念ながら、ActiveX Viewerの標準コントロールには影響しないようです。

ありがとうございました。

Former Member
0 Kudos

多分、無理でしょう。地域の設定ではなく、Windows OS の言語を認識していたと思います。

Former Member
0 Kudos

回答ありがとうございます。

おかげ様で、本件、解決しました。

ご協力ありがとうございました。

Answers (2)

Answers (2)

Former Member
0 Kudos

本件解決しました。

Crystal Reports XI のActiveX コントロールのプロパティで、標準コントロールで表示する言語の設定

が可能です。

先ず、Visual Studio でActiveX Viewer を表示するための画面を作成し、そこにCrystal Reports XIの

Crystal ActiveX Report Viewer Control 11.0 を追加します。

ここで、コントロールのプロパティ設定が可能となりますので、LocaleIDプロパティを設定します。

設定値により以下の動作となります。

・表示させたい言語のロケールIDを設定する(日本語:0x0411、英語:0x0409)

-> 常に設定した言語で表示されます。(OSの言語や、リージョンの設定に影響されない)

・0x0000 を設定する

-> 「地域と言語のオプション」の設定に従った言語で表示されます。

コントロールパネル->地域と言語のオプション->地域オプションタブの「標準と形式」で設定した

言語に従って、文字列が表示されます。

但し、Crystal Reports XI R2のActiveX Viewer でサポートしている言語は14カ国語で、これ以外の言語

を指定した場合は、OSの言語になるようです。

尚、上記の0x0000を設定した場合の動作につきましては、動作確認から導いたものであり、

仕様書、ドキュメントなどに記載された仕様ではありません(見つけられませんでした)。

従いまして、上記の動作保証は、当方では致しかねます。

最後になりましたが、皆さんのご協力、ありがとうございました。

以上です。

Edited by: hodamam on Jun 24, 2009 3:17 AM

Former Member
0 Kudos

hodamam様、こんにちは。

下記のNOTEが参考になるかもしれません。

1204580 - How to change the user interface language of Crystal Reports XI and Crystal Reports XI Release 2

分野外のため見当違いかも知れませんが、よろしくお願いいたします。

Former Member
0 Kudos

ご回答ありがとうございました。

しかし、残念ながら、ご指摘のNoteでは解決しませんでした。

私の質問に、説明不足な点があり申し訳ありませでした。

Note の回避策は、「Regional and Language Settings」(地域と言語のオプション)を切り替える

という方法ですが、これは試しました。

こちらを変更した場合、パラメータ入力画面のボタン等の文字列は、変更した言語で表示されます。

しかし、最終的に表示されるView画面において、上部に表示される標準コントロール

(次のページ、リフレッシュ、印刷、レポート出力など)のツールチップ文字列は、

変更した言語で表示されませんでした(変わらなかった)。

参考ですが、以下のプロパティを変更することにより、コントロールの表示/非表示の切り替えは

できるようです。

EnablePopupMenu

EnablePrintButton

EnableProgressControl

EnableRefreshButton

EnableSearchControl

など

以上です。