Gestaltungselemente importieren

Listing 1 enthält den Programmcode für einen Importagenten.

Sub Initialize
Dim ws As New NotesUIWorkspace
Dim se As New NotesSession
Dim db As NotesDatabase
Dim stream As NotesStream
Dim im As NotesDXLImporter
Dim datName As Variant
Set db = se.CurrentDatabase
'Datenstrom erzeugen
Set stream = se.CreateStream()
datName = ws.OpenFileDialog(False, _
"Zu importierendes Gestaltungselement wählen",,"c:\temp")
If (Isempty(datName)) Then
Exit Sub
End If
'Quelldatei für Datenstrom festlegen
Call stream.Open(datName(0))
'DXLImporterobjekt unter Angabe der Quelle und des Ziels erzeugen
Set im = se.CreateDXLImporter(stream, db)
'Import von Designdokumenten aktivieren
im.DesignImportOption = 2
'Importprozess ausführen
Call im.Process()
Call stream.Close()
End Sub

Nachdem die benötigten Variablen deklariert und das Datenstromobjekt erstellt wurde, wird vom Anwender die zu importierende DXL-Datei erfragt. Dazu öffnet die Methode OpenFileDialog der Klasse NotesUIWorkspace ein Dialogfenster. Ist der Zugriff auf die gewünschte Datei möglich, wird sie als Quelle des Datenstroms bestimmt. Das Objekt der Klasse NotesDXLImporter, das den Importvorgang realisiert, wird anschließend unter Angabe der Quelle und der aktuellen Datenbank als Ziel erzeugt.

Der Import von Gestaltungsdokumenten muss gesondert aktiviert werden. Über die Eigenschaft DesignImportOption wird der Umgang mit Gestaltungselementenbeim Import einer DXL-Datei in eine Notes-Datenbank gesteuert. Per Standard, die Eigenschaft besitzt in diesem Fall den Wert 1, werden die Gestaltungselemente beimmImport ignoriert. Weisen Sie der Eigenschaft den Wert 2 zu, um Gestaltungselemente beim Import einer DXL-Datei zu übernehmen und dabei in der Datenbank bereits vorhandene Gestaltungselemente bestehen zu lassen. Einen Überblick über die möglichen Wertes der Eigenschaft DesignImportOption finden Sie in Tabelle 1.

Tabelle 1: Die Optionen für den DXL-Import.

Konstante

Wert

Bedeutung

DXLIMPORTOPTION_IGNORE

1

Die Standardeinstellung. Beim Import einer DXL-Dateiin eine Notes-Datenbank werden Gestaltungselemente ignoriert. Vorhandene Gestaltungselemente bleiben erhalten.

DXLIMPORTOPTION_CREATE

2

Dieser Wert bewirkt den Import von Gestaltungselementen. Auch hier bleiben vorhandene Gestaltungselemente erhalten.

DXLIMPORTOPTION_REPLACE_ELSE_IGNORE

3

Übereinstimmende Gestaltungselemente in der Zieldatenbank werden durch die der DXL-Datei ersetzt. Alle anderen bleiben in der Datenbank erhalten.

DXLIMPORTOPTION_REPLACE_ELSE_CREATE

4

Übereinstimmende Gestaltungselemente in der Zieldatenbank werden durch die DXL-Datei ersetzt. Neue Gestaltungselemente werden aus der DXL-Datei übernommen. Übereinstimmende Gestaltungselemente in der Zieldatenbank werden durch die der DXL-Datei ersetzt. Neue Gestaltungselemente werden aus der DXLDatei übernommen.

Schließlich wird im Agent der Importvorgang durch die Methode Process ausgeführt. Die letzte Zeile des Programmcodes schließt den Datenstrom.