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

# Scripts en ABBYY Scanning Station

> Automatice ABBYY Scanning Station con scripts personalizados en JScript, VBScript o lenguajes .NET; incluye colecciones, opciones de registro y módulos globales.

Los scripts personalizados le permiten crear sus propios escenarios de trabajo en ABBYY Scanning Station. Entre los escenarios típicos se incluyen:

* Colocar las páginas escaneadas en el orden correcto después del escaneo dúplex
* Dividir automáticamente las páginas de gran tamaño después del escaneo
* Rellenar automáticamente los parámetros de registro de los lotes y documentos recién creados
* Comprobar la calidad de las páginas con un componente externo
* Guardar páginas en dos destinos de exportación al mismo tiempo, uno de ellos para copia de seguridad

Los scripts pueden ejecutarse tanto automáticamente (en respuesta a determinados eventos) como mediante un comando de usuario explícito.

<div id="supported-scripting-languages">
  ## Lenguajes de scripting compatibles
</div>

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

<div id="keywords-for-the-current-object">
  ## Palabras clave para el objeto actual
</div>

En VBScript, debe usar la palabra clave `Me` cuando se hace referencia a los métodos y campos del objeto actual (el equivalente de `this` en JScript y de `Workspace` en VisualBasic.NET). En los scripts de exportación, la palabra clave `Me` (VBScript), `this` (JScript, C#.NET) o `Workspace` (VisualBasic.NET) implementa la interfaz [IExportBatch](/es/flexi-capture/scanning-station/shared/scripts/export-batch). En los scripts de evento, la palabra clave `Me`, `this` o `Workspace` implementa la interfaz [IWorkSpace](/es/flexi-capture/scanning-station/shared/scripts/workspace).

<h2 id="collections">
  Trabajar con colecciones
</h2>

Todas las colecciones admiten las siguientes propiedades y métodos:

| **Name**            | **Type**      | **Access**      | **Description**                                                                                         |
| ------------------- | ------------- | --------------- | ------------------------------------------------------------------------------------------------------- |
| Count               | int           | De solo lectura | El número de elementos de la colección                                                                  |
| Item( index : int ) | ItemInterface | De solo lectura | Recupera el elemento de la colección situado en el índice especificado. La enumeración comienza en `0`. |

En lugar de utilizar el método `Item`, también puede acceder a los elementos de la colección mediante paréntesis.

Por ejemplo:

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

Si se utiliza C#.NET, el índice se especifica entre corchetes:

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

Todas las colecciones pueden utilizarse en `for each` y construcciones similares.

<div id="registry-key-options">
  ## Opciones de claves de registro
</div>

Para los scripts que se ejecutan en ABBYY Scanning Station, puede cambiar los siguientes valores en el registro:

```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
```

De forma predeterminada, ambos valores están establecidos en **false**.

Cambiar el valor de **DisableEventScripts** a **true** evita que se inicien scripts nuevos. Los scripts que ya están en ejecución no se deshabilitan con este comando.

<div id="custom-functions">
  ## Funciones personalizadas
</div>

En el editor de scripts, los usuarios pueden crear sus propias funciones y procedimientos, y luego llamarlos desde los scripts de evento y los scripts de envío.

Las funciones personalizadas pueden crearse en uno de los módulos globales: en el módulo global de eventos o en el módulo global de exportación. Para agregar una función personalizada, haga clic en la flecha situada junto al nombre del script en el [Script Editor](/es/flexi-capture/scanning-station/shared/interface/script-editor) y seleccione **GlobalModule**.

Todas las funciones de un mismo módulo deben estar escritas en el mismo lenguaje. El código principal de un script de envío o de un controlador de eventos puede estar escrito en un lenguaje distinto del que se use en el módulo global correspondiente.

Por ejemplo, desde un script de evento escrito en VBScript puede llamar a una función contenida en el módulo global escrita en JScript.

Las funciones solo pueden llamarse desde "sus propios" módulos. Esto significa que desde los scripts de evento solo puede llamar a funciones contenidas en el módulo global de eventos, y desde el código de los scripts de envío solo puede llamar a funciones contenidas en el módulo global de exportación. De lo contrario, se producirá un error durante la ejecución.
