メインコンテンツへスキップ
Type: Pages moved イベントのハンドラーこのコード例では、“Pages moved” イベントを “Document merge” イベントとして扱う方法を示します。このスクリプトのロジックは次のとおりです。ドキュメントのすべてのページが移動された場合、そのドキュメントはターゲットドキュメントに完全に取り込まれたと見なされます。このスクリプトは Pages moved イベントで実行されます。Events.OnDocumentsMerge プロシージャは、“Document merge” イベントを処理するプロシージャです。
[VBScript]
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
' 次のドキュメント
    If currentDocument.Pages.Count = currentDocumentPagesMoved Then
' 前のドキュメントのすべてのページが移動されました。イベントが発生します。
      Events.OnDocumentsMerge TargetDocument, currentDocument
    End If
Set currentDocument = Pages( i ).Document
  Else
Next
If currentDocument.Pages.Count = currentDocumentPagesMoved Then
' 最後のドキュメントのすべてのページが移動されました。イベントが発生します。
  Events.OnDocumentsMerge TargetDocument, currentDocument
End If
[JScript]
var currentDocument = Pages( 0 ).Document;
var currentDocumentPagesMoved = 0;
for( i = 0; i < Pages.Count - 1; i++ ) {
  if( Pages( i ).Document.Id != currentDocument.Id ) {
// 次のドキュメント
    if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {
// 前のドキュメントのすべてのページが移動されました。イベントが発生します。
      Events.OnDocumentsMerge( TargetDocument, currentDocument );
    }
currentDocument = Pages( i ).Document;
  } else {
currentDocumentPagesMoved = currentDocumentPagesMoved + 1;
  }
}
if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {
// 最後のドキュメントのすべてのページが移動されました。イベントが発生します。
  Events.OnDocumentsMerge( TargetDocument, currentDocument )
}
Type: ドキュメントマージ イベントのハンドラーこのコード例では、ドキュメントマージ時にドキュメント登録パラメーターをマージする最も簡単な方法を示します。ドキュメントをターゲットドキュメントにマージする際は、ターゲットに存在しない新しいドキュメントのパラメーターだけが追加されます。このコードは共有モジュールに保存する必要があります。OnDocumentsMerge プロシージャは、ドキュメントのマージ時に呼び出す必要があります。詳細については、ドキュメントマージイベント の説明を参照してください。
[VBScript]
Sub MergeProperty(ByVal TargetDocument, ByVal propertyName, ByVal propertyValue)
  If TargetDocument.Properties.Get(propertyName) = "" Then
' ドキュメントにそのようなパラメーターはありません。
      TargetDocument.Properties.Set(propertyName, propertyValue)
  End If
End Sub
Sub OnDocumentsMerge(ByVal Target, ByVal Document)
' 登録パラメーターをマージします。
  For i = 0 To Document.Properties.Count - 1
      MergeProperty(Target, Document.Properties(i).Name,
Document.Properties(i).Value)
  Next
End Sub
[JScript]
function MergeProperty( TargetDocument, propertyName, propertyValue )
{
  if( TargetDocument.Properties.Get( propertyName ) == "" ) {
// ドキュメントにそのようなパラメーターはありません。
    TargetDocument.Properties.Set( propertyName, propertyValue );
  }
}
function OnDocumentsMerge( Target, Document )
{
// 登録パラメーターをマージします。
  for( i = 0; i < Document.Properties.Count - 1; i++ ) {
MergeProperty( Target, Document.Properties(i).Name, Document.Properties(i).Value );
  }
}