hier der code, der agent wird bei einkommende mails gestartet, bzw. habs auch mit zeitplan probiert.......
Sub Initialize
' # 1. Dimensionierung der Objekte
Dim session As New NotesSession
' # nenn die Session nicht 's' - einzelne Buchstaben verwendet man gerne als Zählvariablen in Schleifen
Dim SourceDB As NotesDatabase ' # besser wäre dbSource - das Objekt leitet den Namen ein...
Dim TargetDB As NotesDatabase
'Dim dc As NotesDocumentcollection
Dim TargetDoc As NotesDocument ' # besser wäre docTarget - das Objekt leitet den Namen ein...
Dim SourceDoc As NotesDocument
'Dim object As NotesEmbeddedObject
'Dim ItemType As Integer
' # ... die Dimensionierung innerhalb einer Do-While-Schleife macht keinen Sinn - hier ist sie richtiger
'Dim AttachmentName As String
'Dim newObject As NotesEmbeddedObject
Dim rtitem As NotesRichTextItem
Dim rtitem2 As NotesRichTExtItem
' # Initialisierung der benötigten Objekte
dbserver ="LNSERVER**"
Set TargetDB = session.GetDatabase(dbserver,"\faxverteiler")
' # ...Validierung der Quelldatenbank
Set SourceDB = session.CurrentDatabase
If Not TargetDB.IsOpen Then
Msgbox "Abbruch - die Quelldatenbank konnte nicht geöffnet werden"
Exit Sub ' # ... bzw. Exit Function, wenn in einer Funktion gearbeitet wird.
End If
' # ... Validierung der benötigeten Ansicht
Set view = SourceDB.GetView( "Memo" )
If view Is Nothing Then
Msgbox "Abbruch - die Ansicht 'Memo' konnte nicht in der Quelldatenbank gefunden / geöffnet werden."
Exit Sub ' # ... bzw. Exit Function, wenn in einer Funktion gearbeitet wird.
End If
' # ... das erste Dokument initialisieren - war in deinem Code auskommentiert - warum
Set SourceDoc = view.GetFirstDocument()
' # Der eigentliche Code, der das Ergebnis herstellen soll
Do While Not (SourceDoc Is Nothing)
' Copy fields from Source Doc to Target Doc
Set TargetDoc = New NotesDocument( TargetDB )
TargetDoc.Form = "Memo"
' TargetDoc.Category = SourceDoc.heading
' TargetDoc.SubCat = SourceDoc.Category
TargetDoc.docTitle = "Faxenmacher"
' # hier kommt der Code zur Übernahme des Attachments
' # ... ich würde das Feld mit dem Attachment in dein Zieldokument kopieren
Set rtItem2 = SourceDoc.GetFirstItem("Body") ' # hier liegt das Attachment in der Regel
' Call TargetDoc.CopyItem( rtItem, "Body" )
' # ... Attachment übernommen.
' Copy fields from Source Doc to Target Doc
' # hier kommt der Code zur Übernahme des Attachments
' # ... ich würde das Feld mit dem Attachment in dein Zieldokument kopieren
' # ... Attachment übernommen.
Set TargetDoc = New NotesDocument( TargetDB )
TargetDoc.form = "Memo"
' TargetDoc.Category = SourceDoc.heading
' TargetDoc.SubCat = SourceDoc.Category
TargetDoc.docTitle = "Fax from Faxenmacher
)"
' Check for attachment(s) in document
Dim AttachmentName As String
Dim newObject As NotesEmbeddedObject
' Save Attachment from Source Document to Disk
' and then attach file from disk to Target Document
Set item = SourceDoc.GetFirstItem("$File")
If Not (item Is Nothing) Then
ItemType = item.Type
If ItemType = 1084 Then ' Item Type is
'ATTACHMENT (not absolutely sure because Notes help does not state the
'integer values of item Types !)
AttachmentName = item.Values(0)
Set object = Sourcedoc.GetAttachment(AttachmentName )
Call object.ExtractFile ( "c:\temp\" & AttachmentName)
' Create Attachment in DocContent Field from file on disk
Set rtitem = New NotesRichTextItem( TargetDoc,"DocContent" )
Set NewObject = rtitem.EmbedObject (EMBED_ATTACHMENT, "", "c:\temp\" & AttachmentName)
Call TargetDoc.CopyItem( rtItem2, "Body" )
' Delete temporary files from c:\temp directory
Kill "c:\temp\" & AttachmentName
End If
End If
'TargetDoc.Save True,True
Set SourceDoc = view.GetNextDocument( SourceDoc )
'Loop
TargetDoc.Save True,True
Loop
ws.ViewRefresh
End Sub
Was mach ich da bloß falsch ?