Hallo zusammen,
nachdem ihr mich so toll unterstützt habt und ich ohne eure Hilfe
wahrscheinlich immer noch im Dunkeln tappen würde, möchte ich
euch als erstes über den Erfolg informieren!
Es läuft nun!
Hier nochmal für alle fleißigen, die evtl. mal ein ähnliches Problem
haben, der Ablauf:
per
arrAtt = Evaluate({@Attachmentnames}, doc)
werden alle Anhänge einer Email in einem Array gespeichert.
nur wenn das Array ungleich leer ist geht es weiter
mit
Set newDoc = New NotesDocument(db)
wird ein neues (Backend-) Document erstellt.
Mit
Call newDoc.ReplaceItemValue( "Form" , CONVERT_FORM2 )
Call newDoc.ReplaceItemValue( CONVERT_FIELD2 , arrAtt ) 'Feld in dem die Auswahlmöglichkeiten
'hinterlegt werden, unsichtbar!
Call newDoc.ReplaceItemValue( CONVERT_FIELD3 , arrAtt(0) ) 'Feld in dem der Benutzer die Auswahl
'trifft
werden auf dem Backend Document ein Formular mit zwei Feldern erstellt. Insgesamt 3 Items.
Wobei CONVERT_XXXXX globale Variablen sind und einmal mit dem originalen Namen
der Form und der beiden in der Form enthaltenen Felder belegt sind.
mit
Call newDoc.Save( True, True )
wird das Document gespeichert.
Anschließend wird die Function MyDialogBox aufgerufen:
Call MyDialogBox(newDoc, path, doc)
newDoc (=BackendDoc), path (=interner Zielpfad), doc (=orig. Email)
Hier noch die Function MyDialogBox:
Function MyDialogBox(newDoc As NotesDocument, path As String, doc As NotesDocument)
'** Das übergebene newDoc wird per DialogBox mit dem Form SaveAttachments (=CONVERT_FORM2)
'** verbunden. Das Form SaveAttachments wird geöffnet und der Benutzer wählt die zu speichernden
'** aus.
'** Die gewählten Anhänge werden in das in der SYSPM konfigurierte TEMP Verzeichnis gespeichert
'** und die Steuerdatei "sXML" entsprechend befüllt.
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim object As NotesEmbeddedObject
Dim myPath$, newfileName$
Dim valueArray
'Variante 2: Ein Fenster mit allen Anhängen bringen. Nur die angehakten werden exportiert
Call workspace.DialogBox _
(CONVERT_FORM2, True, True, True, True, _
False, False, "Anhänge speichern" ,newDoc)
If istest Then valueArray = newDoc.GetItemValue( CONVERT_FIELD2 )
If istest Then Msgbox "1. Wert vom Array listbox1: " & valueArray(0)
valueArray = newDoc.GetItemValue( CONVERT_FIELD3 )
If istest Then Msgbox "1. Wert vom Array listbox2: " & valueArray(0)
Forall values In valueArray
myPath = path+"\" ' + Str(cnt+1) + "\"
Set object = doc.GetAttachment(values)
If Not object Is Nothing Then
newfileName = fineFileName(values)
Call object.ExtractFile( myPath+newfileName)
sXML = sXML & newfileName & "|" & Chr$(13) & Chr$(10)
cnt =cnt + 1
Else
Print values + " is not a valid Attachment"
End If
End Forall
'\Variante 2
End Function
Das einzigste was mir nicht gefällt, ist, dass es auf dem Form SaveAttachments
ein nicht sichbares Feld listbox1 gibt. Was ich auch nur dadurch unsichtbar bekommen habe,
dass ich den Rahmen auf <none> gesetzt habe.
Zudem ist das Form viel zu groß für die kleinen items listbox1 und listbox2...
Aber es scheint zu laufen und morgen wird ausführlich getestet!!!
Danke und Gruß
Pascal