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

# Weitere Beispielskripte

> VBScript- und JScript-Beispiele, die das Ereignis Pages moved in ein Ereignis Document merge umwandeln und Dokument-Registrierungsparameter zusammenführen, wenn Dokumente zusammengeführt werden.

Diese Beispielskripte zeigen, wie das Ereignis „Document merge“ in ABBYY FlexiCapture verarbeitet wird. Jedes Beispiel ist sowohl in VBScript als auch in JScript verfügbar.

<div id="turn-the-pages-moved-event-into-a-document-merge-event">
  ## Das Ereignis Pages moved in ein Document merge-Ereignis umwandeln
</div>

Dieser Handler wird beim Ereignis [Pages moved](/de/flexi-capture/appendix/scripts/moving-pages) ausgeführt und wandelt es in ein Document merge-Ereignis um. Wenn alle Seiten eines Dokuments verschoben werden, wird dieses Dokument vollständig in das Zieldokument übernommen. Die Prozedur `Events.OnDocumentsMerge` verarbeitet das Document merge-Ereignis.

<div id="vbscript">
  ### VBScript
</div>

```vb theme={null}
Dim currentDocument, currentDocumentPagesMoved
set currentDocument = Pages( 0 ).Document
currentDocumentPagesMoved = 0

For i = 0 to Pages.Count - 1
    If Pages( i ).Document.Id <> currentDocument.Id Then
        ' Das nächste Dokument
        If currentDocument.Pages.Count = currentDocumentPagesMoved Then
            ' Alle Seiten wurden aus dem vorherigen Dokument verschoben. Das Ereignis wird ausgelöst.
            Events.OnDocumentsMerge TargetDocument, currentDocument
        End If
        Set currentDocument = Pages( i ).Document
    Else
Next

If currentDocument.Pages.Count = currentDocumentPagesMoved Then
    ' Alle Seiten wurden aus dem letzten Dokument verschoben. Das Ereignis wird ausgelöst.
    Events.OnDocumentsMerge TargetDocument, currentDocument
End If
```

<div id="jscript">
  ### JScript
</div>

```javascript theme={null}
var currentDocument = Pages( 0 ).Document;
var currentDocumentPagesMoved = 0;

for( i = 0; i < Pages.Count - 1; i++ ) {
    if( Pages( i ).Document.Id != currentDocument.Id ) {
        // Das nächste Dokument
        if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {
            // Alle Seiten wurden aus dem vorherigen Dokument verschoben. Das Ereignis wird ausgelöst.
            Events.OnDocumentsMerge( TargetDocument, currentDocument );
        }
        currentDocument = Pages( i ).Document;
    } else {
        currentDocumentPagesMoved = currentDocumentPagesMoved + 1;
    }
}

if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {
    // Alle Seiten wurden aus dem letzten Dokument verschoben. Das Ereignis wird ausgelöst.
    Events.OnDocumentsMerge( TargetDocument, currentDocument )
}
```

<div id="merge-registration-parameters-when-documents-merge">
  ## Registrierungsparameter zusammenführen, wenn Dokumente zusammengeführt werden
</div>

Dieser Handler führt beim Document merge-Ereignis die Dokument-Registrierungsparameter zusammen. Wenn Dokumente in ein Zieldokument zusammengeführt werden, werden aus den neuen Dokumenten nur die im Zieldokument fehlenden Parameter hinzugefügt.

Speichern Sie diesen Code in einem gemeinsamen Modul und rufen Sie die Prozedur `OnDocumentsMerge` auf, wenn Dokumente zusammengeführt werden. Weitere Informationen finden Sie unter [Das Ereignis „Pages moved“ in ein Ereignis zur Dokumentzusammenführung umwandeln](#turn-the-pages-moved-event-into-a-document-merge-event).

<div id="vbscript">
  ### VBScript
</div>

```vb theme={null}
Sub MergeProperty(ByVal TargetDocument, ByVal propertyName, ByVal propertyValue)
    If TargetDocument.Properties.Get(propertyName) = "" Then
        ' Im Dokument gibt es keinen solchen Parameter.
        TargetDocument.Properties.Set(propertyName, propertyValue)
    End If
End Sub

Sub OnDocumentsMerge(ByVal Target, ByVal Document)
    ' Registrierungsparameter zusammenführen.
    For i = 0 To Document.Properties.Count - 1
        MergeProperty(Target, Document.Properties(i).Name, Document.Properties(i).Value)
    Next
End Sub
```

<div id="jscript">
  ### JScript
</div>

```javascript theme={null}
function MergeProperty( TargetDocument, propertyName, propertyValue )
{
    if( TargetDocument.Properties.Get( propertyName ) == "" ) {
        // Im Dokument gibt es keinen solchen Parameter.
        TargetDocument.Properties.Set( propertyName, propertyValue );
    }
}

function OnDocumentsMerge( Target, Document )
{
    // Registrierungsparameter zusammenführen.
    for( i = 0; i < Document.Properties.Count - 1; i++ ) {
        MergeProperty( Target, Document.Properties(i).Name, Document.Properties(i).Value );
    }
}
```
