> ## 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.

# Skripte in ABBYY Scanning Station

> Automatisieren Sie ABBYY Scanning Station mit benutzerdefinierten Skripten in JScript, VBScript oder .NET-Sprachen, einschließlich Sammlungen, Registrierungsoptionen und globalen Modulen.

Mit benutzerdefinierten Skripten können Sie eigene Szenarien für die Arbeit mit ABBYY Scanning Station erstellen. Typische Szenarien sind:

* Gescannte Seiten nach dem Duplex-Scannen in die richtige Reihenfolge bringen
* Großformatige Seiten nach dem Scannen automatisch aufteilen
* Registrierungsparameter für neu erstellte Batches und Dokumente automatisch ausfüllen
* Qualitätsprüfung von Seiten mit einer externen Komponente
* Seiten gleichzeitig an zwei Exportziele speichern, von denen eines für Sicherungszwecke verwendet werden kann

Skripte können sowohl automatisch (als Reaktion auf bestimmte Ereignisse) als auch per explizitem Benutzerbefehl gestartet werden.

<div id="supported-scripting-languages">
  ## Unterstützte Skriptsprachen
</div>

* **JScript®**
* **VBScript**
* **C#.NET**
* **VisualBasic.NET**
* **JScript.NET**

<div id="keywords-for-the-current-object">
  ## Schlüsselwörter für das aktuelle Objekt
</div>

In VBScript muss beim Verweis auf Methoden und Felder des aktuellen Objekts das Schlüsselwort `Me` verwendet werden (das entspricht `this` in JScript bzw. `Workspace` in VisualBasic.NET). In Exportskripten implementiert das Schlüsselwort `Me` (VBScript), `this` (JScript, C#.NET) oder `Workspace` (VisualBasic.NET) die Schnittstelle [IExportBatch](/de/flexi-capture/scanning-station/shared/scripts/export-batch). In Ereignisskripten implementiert das Schlüsselwort `Me`, `this` oder `Workspace` die Schnittstelle [IWorkSpace](/de/flexi-capture/scanning-station/shared/scripts/workspace).

<h2 id="collections">
  Arbeiten mit Sammlungen
</h2>

Alle Sammlungen unterstützen die folgenden Eigenschaften und Methoden:

| **Name**            | **Typ**       | **Zugriff**      | **Beschreibung**                                                                       |
| ------------------- | ------------- | ---------------- | -------------------------------------------------------------------------------------- |
| Count               | int           | Schreibgeschützt | Die Anzahl der Elemente in der Sammlung                                                |
| Item( index : int ) | ItemInterface | Schreibgeschützt | Ruft das Element der Sammlung am angegebenen Index ab. Die Aufzählung beginnt bei `0`. |

Statt die Methode `Item` zu verwenden, können Sie Elemente der Sammlung auch über Klammern ansprechen.

Beispiel:

```text theme={null}
Items( 1 ).Text = "Hello"
```

Bei Verwendung von C#.NET wird der Index in Klammern angegeben:

```csharp theme={null}
Items[1].Text = "Hello"
```

Alle Sammlungen können in `for each` und ähnlichen Konstrukten verwendet werden.

<div id="registry-key-options">
  ## Optionen für Registrierungsschlüssel
</div>

Für Skripte, die auf der ABBYY Scanning Station gestartet werden, können Sie die folgenden Werte in der Registrierung ändern:

```text theme={null}
HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script\DisableDebugging
HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script\DisableEventScripts
```

Standardmäßig sind beide Werte auf **false** gesetzt.

Wenn Sie den Wert von **DisableEventScripts** auf **true** setzen, wird das Starten neuer Skripte verhindert. Bereits ausgeführte Skripte werden durch diesen Befehl nicht deaktiviert.

<div id="custom-functions">
  ## Benutzerdefinierte Funktionen
</div>

Im Skripteditor können Benutzer eigene Funktionen und Prozeduren erstellen und diese dann aus Ereignisskripten und Sendeskripten aufrufen.

Benutzerdefinierte Funktionen können in einem der globalen Module erstellt werden, entweder im globalen Ereignismodul oder im globalen Exportmodul. Um eine benutzerdefinierte Funktion hinzuzufügen, klicken Sie im [Skripteditor](/de/flexi-capture/scanning-station/shared/interface/script-editor) auf den Pfeil neben dem Skriptnamen und wählen Sie **GlobalModule** aus.

Alle Funktionen innerhalb eines Moduls müssen in derselben Sprache geschrieben sein. Der eigentliche Code eines Sendeskripts oder eines Ereignishandlers kann in einer anderen Sprache geschrieben sein als das zugehörige globale Modul.

So können Sie beispielsweise aus einem in VBScript geschriebenen Ereignisskript eine Funktion aufrufen, die sich im globalen Modul befindet und in JScript geschrieben ist.

Funktionen können nur aus „ihren eigenen“ Modulen aufgerufen werden. Das bedeutet, dass Sie aus Ereignisskripten nur Funktionen aufrufen können, die im globalen Ereignismodul enthalten sind, und aus dem Code von Sendeskripten nur Funktionen, die im globalen Exportmodul enthalten sind. Andernfalls tritt bei der Ausführung ein Fehler auf.
