... ich habe vor kurzem genau so etwas programmiert. Ich werde versuchen dir den Code in abgespeckter Version näherzubringen...
... in meiner Datenbank habe ich einen Button,
... der mir Mails zur Auswahl gibt,
... für jede selektierte Mail wird in der DB ein Dokument angelegt...
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim pickList As NotesDocumentCollection
Dim dbThis As NotesDatabaseDim
Dim docNew As NotesDocument
Dim docMail As NotesDocument
Dim vMailDB As Variant
Dim sFieldImport() As String
Dim i As Long
Dim f As Integer
' # Die zu importierenden Felder bestimmen...
Redim sFieldImport( 0 to 2)
sFieldImport(0) = "Subject"
sFieldImport(1) = "From"
sFieldImport(2) = "Body"
' # ... die Parameter der Mail-Datenbank einlesen.
vMailDB = Evaluate("@MailDBName")
Set dbThis = session.CurrentDatabase
' # Auswahl der einzubindenden Mails per PickList,...
Set pickList = ws.PickListCollection( 1, True, vMailDB(0) , vMailDB(1) , "($Inbox)" , "Auswahl Mails" ,"Bitte die Mails wählen.")
' # ... wenn Mails selektiert wurden...
If pickList.Count > 0 Then
Set docMail = pickList.GetFirstDocument
For i = 1 To pickList.Count ' # ... aus allen selektierten Mails...
Set docNew = dbThis.CreateDocument
docNew.Form = "Dein_Maskenname_in_der_neuen_Datenbank"
For f = 0 to Ubound( sFieldImport ) ' # ... die benötigten Felder einbinden...
If docMail.HasItem( sFieldImport( f ) ) Then ' # ... wenn vorhanden...
Call docNew.CopyItem( docMail.GetFirstItem( sFieldImport( f ) , sFieldImport(f) ) )
End If
Next
Call docNew.Save( True , True ) ' # und dann speichern.
Set docMail = picklist.GetNextDocument( docMail )
Next
Print "Mailimport abgeschlossen"
End If
ata