メインコンテンツへスキップ
カスタム スクリプトを使用すると、ABBYY Scanning Station で独自の運用シナリオを作成できます。代表的なシナリオには、次のようなものがあります。
  • 両面スキャン後に、スキャンしたページを正しい順序に並べ替える
  • スキャン後に大判ページを自動分割する
  • 新しく作成されたバッチとドキュメントの登録パラメーターを自動入力する
  • 外部コンポーネントを使用してページの品質をチェックする
  • ページを 2 つの出力先に同時に保存し、そのうちの 1 つをバックアップ用に使用する
スクリプトは、自動的に (特定のイベントに応じて) 実行することも、ユーザーコマンドで明示的に実行することもできます。

対応しているスクリプト言語

対応しているスクリプト言語は次のとおりです: JScript®VBScriptC#.NetVisualBasic.NetJScript.Net

使用上の詳細

VBScript では、現在のオブジェクトのメソッドや field を参照する場合、キーワード “Me” の使用が必須です (JScript の “this”、VisualBasic.Net の “Workspace” に相当) 。エクスポートスクリプトでは、キーワード “Me” (VBScript) 、“this” (JScript、C#.Net) 、または “Workspace” (VisualBasic.Net) は IExportBatch インターフェイスを実装します。イベントスクリプトでは、これらのキーワード “Me”、“this”、または “Workspace” は IWorkSpace インターフェイスを実装します。

コレクションの操作

すべてのコレクションで、次のプロパティとメソッドを使用できます。

名前

アクセス

説明

Count

int

読み取り専用

コレクション内のアイテム数

Item( index : int )

ItemInterface

読み取り専用

指定した index のコレクション アイテムを取得します。

インデックスは “0” から始まります。

メソッド Item を使用する代わりに、かっこを使ってコレクションのアイテムを参照することもできます。 たとえば、
Items( 1 ).Text = "Hello"
C#.Net を使用する場合は、インデックスを角括弧で指定します:
Items[1].Text = "Hello"
すべてのコレクションは、“for each” や類似の構文で使用できます。

レジストリ キーのオプション

ABBYY Scan Station で起動されるスクリプトでは、レジストリ内の次の値を変更できます。 HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script\DisableDebugging HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script\DisableEventScripts 既定では、どちらの値も false に設定されています。 DisableEventScripts” の値を true に変更すると、新しいスクリプトを起動できなくなります。すでに実行中のスクリプトは、このコマンドでは無効化されません。

カスタム関数

スクリプト エディターでは、独自の関数やプロシージャを作成し、それらをイベント スクリプトや送信スクリプトのコードから呼び出すことができます。 カスタム関数は、グローバル モジュールのいずれか (イベントのグローバル モジュールまたはエクスポートのグローバル モジュール) に作成できます。カスタム関数を追加するには、スクリプト エディター でスクリプト名の横にある矢印をクリックし、GlobalModule を選択します。 1 つのモジュール内のすべての関数は、同じ言語で記述する必要があります。送信スクリプトまたはイベント ハンドラーの本体コードは、対応するグローバル モジュールで使用されている言語とは別の言語で記述できます。 たとえば、VBScript で記述されたイベント スクリプトから、JScript で記述されたグローバル モジュール内の関数を呼び出すことができます。 関数を呼び出せるのは、「対応する」モジュールからのみです。つまり、イベント スクリプトから呼び出せるのはグローバル イベント モジュール内の関数だけであり、送信スクリプトのコードから呼び出せるのはグローバル エクスポート モジュール内の関数だけです。そうでない場合、実行時にエラーが発生します。