> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# .NET 言語でのスクリプト

> C#.Net、VisualBasic.Net、JScript.Net で Scanning Station のスクリプトを記述する際の注意点。

.NET 言語でスクリプトを記述する場合は、VBScript や JScript とはいくつか異なる点があります。

<div id="accessing-objects">
  ## オブジェクトへのアクセス
</div>

オブジェクト要素には、`Workspace` および `ExportBatch` のキーワードを使ってアクセスできます。

<div id="framework-and-assemblies">
  ## フレームワークとアセンブリ
</div>

* **.NET Framework 4.0 以降**を使用して .NET アセンブリをコンパイルします。ターゲット フレームワークは、Visual Studio プロジェクトのプロパティで設定します。
* 外部アセンブリ (標準またはユーザーがコンパイルしたもの) を追加できます。追加したアセンブリ内のすべてのクラスを、スクリプトおよびグローバル モジュールで使用できるようになります。詳細については、[外部アセンブリ](/ja/vantage/documentation/scanning-station/admin/external-assemblies)を参照してください。
* Scanning Station オブジェクトはマルチスレッドに対応していません。

<div id="debugging">
  ## デバッグ
</div>

* デバッガーでブレークするには、[`System.Diagnostics.Debugger.Break`](http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx) メソッドを使用します。
* デバッグには、デバッグ情報を含む `.pdb` ファイルも必要です。これらのファイルは非常に大きくなる可能性があるため、プロジェクトの外部に保存することをお勧めします。スクリプトは、デバッグ情報を含めてコンパイルするようにしてください。Microsoft Visual Studio では、.NET コードが実行されている[プロセスにアタッチ](http://msdn.microsoft.com/en-us/library/vstudio/3s68z0b3\(v=vs.100\).aspx)できます。

<div id="using-directives">
  ## `using` ディレクティブ
</div>

スクリプトの先頭には、コメントや空行とともに `using` スタイルのディレクティブを記述できます。構文は言語によって異なります。

* **C#.Net:** `using`
* **JScript.Net:** `Import`
* **VisualBasic.Net:** `Imports`

たとえば、C#.Net では次のようになります。

```csharp theme={null}
using System.Drawing;
Image img = Image.FromFile(@"D:\2.png");
```

<Note>
  `using` ディレクティブは、実行可能なコードの最初の行より前に記述した場合にのみ有効です。たとえば、次のようになります。

  ```csharp theme={null}
  using System.IO;
  File.Create(@"C:\sample.txt");
  ```
</Note>

<div id="functions-and-optional-parameters">
  ## 関数と省略可能なパラメーター
</div>

* グローバルモジュールの関数は、.NET スクリプトでは直接呼び出せるため、グローバルモジュール名をプレフィックスとして付ける必要はありません。
* 省略可能なパラメーターを省略する場合は、代わりに `System.Type.Missing` を渡します。

<div id="related-topics">
  ## 関連トピック
</div>

* [スクリプトの使用](/ja/vantage/documentation/scanning-station/admin/using-scripts)
* [外部アセンブリ](/ja/vantage/documentation/scanning-station/admin/external-assemblies)
* [イベント スクリプトで使用できるオブジェクト](/ja/vantage/documentation/scanning-station/admin/available-objects)
* [管理者モード](/ja/vantage/documentation/scanning-station/admin/admin-mode)
