VBScript 式は、レポートのコンテンツを取得、計算、表示、グループ化、ソート、フィルタ、パラメータ化、および書式設定するためにレポート定義内で広く使用されます。いくつかの式は自動的に作成されます。たとえば、ツールボックスからフィールドをレポートのセクションにドラッグすると、テキストボックスにそのフィールドの値を取得する式が表示されます。ただし、ほとんどの場合、レポートに機能を追加するには独自に式を作成する必要があります。
VBScript の式と文には次の違いがあります:
- 式は値を返します。これを Field.Text プロパティなどに割り当てることができます。
Field1.Calculated = true
Field1.Text = "iif( 1=1, 1+2, 1+3 )"
- 文は値を返しません。OnFormat などのイベントプロパティに割り当てることができます。たとえば、次のように記述します。
c1r.OnOpen = "if 1=1 then msgbox("OK!!!") else msgbox("ooops")"
C1Report は、計算フィールドでの式の評価やレポートイベントの処理を VBScript に依存しています。レポートイベントとコントロールイベントの違いについては後で説明します。
VBScript は多機能の言語で、C1Report の式を記述する際は、VBScript のほとんどのメソッドと関数にアクセスできます。VBScript 固有の機能については、Microsoft Developer's Network (MSDN)をはじめ、多くの書籍や Web サイトで説明されているため、本マニュアルでは説明しません。)
新しい VBScript エディタでグローバルスクリプトを記述できます。このエディタを使用して、レポート全体からアクセス可能な VBScript の関数やサブルーチンを定義できます。エディタ内で、スクリプトを切り替えたり、フォントや色などのオプションを変更することができます。また、構文チェック、定義済み VBScript 関数、再編成されたスクリプト関数などの高度な機能を使用して、直感的なスクリプティングを簡単に行うことができます。
[VBScript エディタ]オプションを使用してグローバルスクリプトを記述するには
- C1ReportDesigner の[ホーム]タブに移動します。
- [VBScript エディタ]をクリックし、次の例のようなグローバルスクリプトを記述します。
function Backcolor()
Detail.Backcolor=rgb(255,0,0)
end function
次のように、C1ReportDesigner の GlobalScripts プロパティを使用してグローバルスクリプトを記述することもできます。
- グローバルスクリプトを記述するレポートを選択します。
- レポートの GlobalScripts プロパティに移動し、省略符をクリックします。これで、[VBScript エディタ]ダイアログボックスが開きます。
- 上のように、VBScript エディタでグローバルスクリプトを記述します。
これで、レポート全体から使用できるグローバル関数 'Backcolor()' が定義されます。
The VBScript Editor has the following additional features:
-
VBScript エディタには、次の追加機能があります。
-
IntelliSense:VBScript エディタがサポートするスクリプトの自動コード補完プロンプトを提供します。VBScript エディタの IntelliSense には、次の機能があります。
-
- IntelliSense ウィンドウには、使用可能な語の状況依存リストと共に、VBScript 関数およびキーワードに関する詳細なヘルプが小さなツールチップまたはヘルプウィンドウに表示されます。詳細ヘルプ内の斜体フォントは、基本的に、現在の項目が属するカテゴリを示します(VBScript 関数、C1Report 集計スクリプト関数、.NET オブジェクトプロパティなど)。
- DataSource.Filter の編集時、エディタは「式エディタ - DataSource.Filter」として開かれ、IntelliSense には、エディタで使用できるキーワードまたは関数と、対応するヘルプが表示されます。
- IntelliSense エントリに関連付けられているアイコンは、エントリのタイプを示します。アイコンのカラーパレットは、VBScript、レポート組み込み要素、DataSource.Filter によって異なります。
- ユーザーがキー入力し、Intellisense ウィンドウが開くと、入力された文字に基づいてリストがフィルタ処理されます。たとえば、「t」と入力すると、文字「t」を含む語だけが表示され、「te」と入力すると、「te」を含む語にさらに絞り込まれます。
- IntelliSense ウィンドウでバックスペースキーを押すと、最後のフィルタを元に戻します。
- 角かっこ([)キーを押すと、使用可能なデータベースフィールドのリストが表示されます。
- レポート、フィールド、セクションなどのオブジェクトの名前の後にピリオド(.)キーを押すと、そのオブジェクトで使用できる .NET プロパティが表示されます。
- [Ctrl]+[J]キー、[Ctrl]+[Space]キー、または文字以外のキーの後に文字キーを押すと、使用可能な VBScript 関数、キーワードなどのリストが状況に応じて表示されます。
-
分割ウィンドウ:同じ VBScriptEditor 内で 2 つの同じまたは異なるスクリプトを表示または記述できます。デフォルトでは、VBScript エディタは単一ウィンドウで開きます。
分割ウィンドウに切り替えるには
分割ウィンドウモードに切り替えるには、分割ウィンドウグリフをクリックして下へドラッグすると、上部にもう 1 つエディタが開きます。ウィンドウのサイズは、ウィンドウ間の分割線をドラッグして変更できます。
単一ウィンドウに戻るには
ウィンドウの右上隅にある[x]グリフをクリックすると、上側のウィンドウが閉じられ、分割モードがオフになり、下側のウィンドウがズームアウトします。リボンボタンの有効/無効の状態は、現在のウィンドウによって決まります。現在のウィンドウは、薄緑のキャプションバーで示されます。分割ウィンドウモードには、次の追加機能があります。
- [F6]キーを押すと、2 つのウィンドウを切り替えることができます。
- 分割ウィンドウグリフまたは分割線を上側のウィンドウの上部までドラッグすると、分割ウィンドウモードの上側のウィンドウを非表示にできます。
C1Report は、追加のオブジェクト、変数、および関数を公開することで、VBScript を拡張します。以下のセクションでは、これらの拡張機能について説明します。
メモ:VBScript エディタの[グローバルスクリプト]ドロップダウンは、以前にレポートでグローバルスクリプトを定義した場合にのみ有効になります。
関連トピック