Wenn ich das ohne Export in eine Datei mache, also wenn ich den DXLExport in einen String exportiere und dann dem Import einen String übergebe, dann klappt es ohne Fehlermeldung:
Sub Initialize
On Error Goto errh
Dim s As New NotesSession
Dim db As NotesDatabase
Dim exporter As NotesDXLExporter
Dim importer As NotesDXLImporter
Dim docxml As String
Set db = s.CurrentDatabase
Dim doc As NotesDocument
Set doc = s.DocumentContext
Set exporter = s.CreateDXLExporter
docxml = exporter.Export(doc)
Set importer = s.CreateDXLImporter(docxml,db)
importer.DocumentImportOption = DXLIMPORTOPTION_CREATE 'Altes Dokument wird ersetzt, NoteID und UNID werden beibehalten
Call importer.Import
raus:
Exit Sub
errh:
Msgbox Error$ & Erl
Resume raus
End Sub
Sobald aber ein Stream mitspielt, dann... :-:
Reiner Importagent:
Sub Initialize
On Error Goto errorhandler
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
Dim stream As NotesStream
Set stream = session.CreateStream
If Not stream.Open("C:\dxl\datei7.xml", "ISO-8859-1") Then
Messagebox "Cannot open " & filename$,, "Error"
Exit Sub
End If
If stream.Bytes = 0 Then
Messagebox "File did not exist or was empty",, filename$
Exit Sub
End If
Dim importer As NotesDXLImporter
Set importer = session.CreateDXLImporter(stream, db)
importer.DocumentImportOption = DXLIMPORTOPTION_CREATE
Call importer.Process
raus:
Exit Sub
errorhandler:
Msgbox importer.Log
Resume raus
End Sub
mfg
Kjeld