Hallo
Danke für eure Bemühungen aber ich habe gerade eine Auftragsänderung bekommen.
Jetzt ist das ganze nicht mehr so kniffelig!
Die Mailin-DB wird auf nen Win Server verschoben auf grund keiner zugriffs oder speichermöglichkeiten.
Naja...
Jetzt stehe ich aber wieder vor nem anderen Problem im Code...
Forall o In rtitem.EmbeddedObjects
Set object = rtitem.GetEmbeddedObject(object.Name )
objName = object.Name
If ( object Is Nothing ) Then
Set object = doc.GetAttachment(objName)
Call object.ExtractFile("D:\\Data\\FGCenter3" & Cstr(int_count) )
End If
End Forall
Und zwar was ist "o" in der Forall Schleife???
Forall o In rtitem.EmbeddedObjects ???
das habe ich aus der Notes Designer Hilfe. aber ich werde daraus nicht schlau!
Ich bekomme immer an der Stelle einen Fehler.
"Type Mismatch"
Ich weis hier nicht mehr weiter!
Zu den Folgefehlern wäre ich erst noch gekommen *g*
Wenn die For All laufen würde!
Abgesehen der schon geschehenen Deklarationen.
Muss ich die Obejektreferenz für ein NotesEmbeddedObject irgendwie oder irgend wo deklarieren???
Entweder ich bekomme den Fehler "Type Mismatch" oder "Variant does not contains Object"
Hier mal der ganze unvollendete und Fehlergespickte Code:
Sub initialize
Dim session As New NotesSession
Dim collection As NotesDocumentcollection
'################################
Dim doc As Notesdocument
Dim db As NotesDatabase
Dim view As NotesView
Dim object As NotesEmbeddedObject
Dim item As Variant
Dim match As String
'################################
Dim flg_gelesen As Integer
Dim rtitem As Variant
Dim objName As String
'################################
Set db = session.currentdatabase()
Set view = db.getview("(Default)")
Set collection = db.UnprocessedDocuments
Set doc = view.getfirstdocument()
Dim i As Integer
'##nur Ungelesene Email werden bearbeitet! ABFRAGE
While Not (doc Is Nothing)
'---Inhalt der Variablen ist der Betreff, welcher ausschlaggebend für die Abprüfung ist.
match = doc.subject(0)
'---Zielname der Adresse ist: "40150003 Leistungsanforderung"
If match Like "*40150003 Leistungsanforderung*" Then
' Prüfe die Mail auf einen Anhang. Wenn Anhang verfügbar dann lösen und Speichern
' Speichern muss auf einer anderen Maschine erfolgen!!!
Set item = doc.GetFirstItem( "Body" )
int_count = int_count + 1
If ( item.Type = RICHTEXT ) Then
Forall o In item.EmbeddedObjects 'prüft das Dokument ob es ein Eigebundenes Objekt beinhaltet!
'checkt das Feld Body nach einer Anhangsdatei
Set object = item.GetEmbeddedObject(object.Name )
' objName = object.Name
If ( object Is Nothing ) Then
'check das restliche Dokument nach einem Anhang
Set object = doc.GetAttachment(objName)
Call object.ExtractFile("D:\\Data\\FGCenter" & Cstr(int_count) )
End If
End Forall
End If
Else
Goto notTarget
End If
notTarget: 'Sprungstelle für beendigung der If Schleife wenn
'keine Email mit diesem Namen vorhanden
Set doc = view.getnextdocument(doc) 'das Nächste Dokument welches in der
' Ansicht vorhanden ist.
Wend
End Sub
Hallo Hallo
Ich bin jetzt fertig mit dem Agenten.
Das Problem Von einem Sun Server etaws auf nen Windows Server zu speichern hat sich erledigt->
Mailin DB wurde auf einen Windows Server verschoben ::)
Den Code will ich aber keinem vorenthalten ;)
Nochmal Danke für die Tipps ;D
Dim session As New NotesSession
'############################################
Dim doc As Notesdocument
Dim db As NotesDatabase
Dim view As NotesView
Dim object As NotesEmbeddedObject
Dim collection As NotesDocumentcollection
'############################################
Dim item As Variant
Dim match As String
Dim collcounter As Integer
Dim objName As String
Dim Dateiname As String
'############################################
Set db = session.currentdatabase()
Set view = db.getview("(Default)")
Set collection = db.UnprocessedDocuments
Set doc = view.getfirstdocument()
'############################################
While Not (doc Is Nothing)
match = doc.subject(0)
If match Like "*40150003 Leistungsanforderung*" Then
Set item = doc.GetFirstItem("Body")
If ( item.Type = RICHTEXT ) Then
Forall embobj In item.EmbeddedObjects
objName = embobj.Name
Set object = item.GetEmbeddedObject(objName)
If Not ( object.Name = "" Or object.Source = "" ) Then
Set object = doc.GetAttachment(objName)
int_count = int_count + 1
Dateiname = embobj.Source
Call object.ExtractFile( "D:\Data\FGCenter\" & Cstr(int_count)&" " & Cstr(Dateiname))
End If
End Forall
End If
Else
Goto notTarget
End If
'############################################
notTarget: '---------->Sprungstelle für beendigung der If Schleife wenn keine Email mit diesem Namen vorhanden
'############################################
Set doc = view.getnextdocument(doc) '---------->das Nächste Dokument welches in der Ansicht vorhanden ist.
Wend
End Sub
MFG Tubeman