Hallo,
konnte jetzt nachvollziehen, was passiert.
Habe mal das komplette Script reingestellt.
Folgendes passiert:
Die Datei wird geschrieben, aber nicht komplett. Der Rest der Datei wird erst geschrieben, wenn das Script (Agent) beendet ist.
Gibt es eine Möglichkeit den NotesDXLExporter zu beenden oder dazu zu zwingen die Datei komplett zu schreiben bevor das script beendet ist?
Oder woran könnte es liegen, das dieser Effekt auftritt?
Notlösung wäre, daß ich einen 2. Agent erstelle, denn ein paar Minuten später läuft und die exportierte Date holt, aber eigentlich sollte es auch so klappen.
Gruß
René
Dim session As New NotesSession
Dim db As NotesDatabase
Dim ndoc As NotesDocument
Dim nView As NotesView
Dim stream As NotesStream
Dim exporter As NotesDXLExporter
Dim sname As String
Set session = New NotesSession
Set db = session.CurrentDatabase
Set nView = db.GetView ( "(xmlexportansicht)" )
Dim dc As NotesDocumentCollection
Set dc=nView.Getalldocumentsbykey("1", False)
sName="c:\temp\exportadr.txt"
Set stream = session.CreateStream
Print "start export adr2xml"
If Not stream.Open( sName ) Then
' MessageBox "Cannot open " & sName,, "Error"
Print "export adr2xml fehler!!!!"
Exit Sub
End If
Call stream.Truncate
Set exporter = session.CreateDXLExporter ( dc, stream )
Call exporter.process
Print "export adr2xml ein wenig geschlafen"
Sleep 900
Print "export adr2xml mail schicken"
Dim blindcopystr (1 To 3) As String
Dim maildoc As NotesDocument
Set maildoc = New NotesDocument(db)
maildoc.Form = "Memo"
' maildoc.SendTo = ""
blindcopystr(1)="ein Notes Empfänger"
blindcopystr(2)=""
blindcopystr(3)=""
maildoc.blindcopyto=blindcopystr
maildoc.Subject = "Export ins XML Format erfolgt"
Call maildoc.Send( False )
' exportiertes dok in xmlaustauschdok reinhängen
Set nView = db.GetView ( "(xmlaustauschansicht)" )
Set ndoc = nview.GetFirstDocument
If Not(ndoc Is Nothing) Then
'datei in dok reinbringen
Dim rtitem As NotesRichTextItem
Dim item As NotesItem
Dim object As NotesEmbeddedObject
If ndoc.HasItem("Body") Then
Set item = ndoc.GetFirstItem( "Body" )
Call item.Remove
Call ndoc.Save(True,True)
End If
Set rtitem = New NotesRichTextItem( ndoc, "Body" )
Set object=rtitem.Embedobject(EMBED_ATTACHMENT,"", sName)
Call ndoc.Save(True,true)
Else
' kein austauschdok gefunden
Exit Sub
End If
Print "export adr2xml beendet"