Szenario
In einem Dokument gibt es zwei RTF „Kunden_Angebot“ und „Angebot_Abweichung“.
Feld „Kunden_Angebot“ enthält unbedingt einen Anhang, das Feld „Angebot_Abweichung“ kann das Anhang erhalten oder nicht.
Es gibt im Dokument einen Button beim Betätigung wird eine Email in der Email-Datei aktuelles User erstellt und in Body soll Anhang aus dem Feld „Angebot_Abweichung“ übernommen werden, wenn das Feld einen Anhang enthält. Wenn das Feld „Angebot_Abweichung“ keinen Anhang enthält, dann muss einen Anhang aus dem RTF „Kunden_Angebot“ in das Feld Body der Maildokument übernommen werden.
Zwei Variant habe ich ausprobiert und beide funktionieren nicht. Die beide s. Code unten.
Unendliche Dank für jede Hilfe!
Dim ws As NotesUIWorkspace
Dim s As NotesSession
Dim db As NotesDatabase
Dim dbMail As NotesDatabase
Dim uidb As NotesDatabase
Dim uiDocA As NotesUIDocument
Dim docA As NotesDocument
Dim uiDocM As NotesUIDocument
Dim rtitemA As NotesRichTextItem
Dim rtitemA1 As NotesRichTextItem
Dim object As NotesEmbeddedObject
Dim FileName As String
Dim flagAnhang As String
Sub Initialize
Set s = New NotesSession
Set ws = New NotesUIWorkspace
Set uidb = s.CurrentDatabase 'aktuelle Anwendung "Workflow Angebot"
Set uiDocA = ws.CurrentDocument 'aktuell geöffnete Anbebot-Dokument
uiDocA.Editmode = True
Call uiDocA.Refresh
Call uiDocA.Save
Set docA = uiDocA.Document
Set rtitemA = docA.GetFirstItem("Kunde_Angebot")
Set rtitemA1 = docA.GetFirstItem("Angebot_Abweichung")
Call Erstellen()
End Sub
Function Erstellen()
Dim mailDb As NotesDatabase
Dim uidoc As NotesUIDocument
Dim docM As NotesDocument
Set mailDb = New NotesDatabase( "", "" )
Call mailDb.OpenMail
Set docM = New NotesDocument( mailDb )
docM.Form = "Memo"
'1. Variante
‘Funktioniert ohne Problem, wenn das FELD "Angebot_Abweichung" enthält einen Anhang
‘Wenn das FELD leer ist bekomme ich folgende Fehlermitteilungen:
s. Bilde: 1_Debug.gif, 1_Debug_Fehlermeldung.gif
flagAnhang = "Angebot"
If Not rtitemA1 Is Nothing Then
If (rtitemA1.Type = RICHTEXT ) Then
ForAll object In rtitemA1.EmbeddedObjects
If ( object.Type = EMBED_ATTACHMENT ) Then
Call rtitemA1.CopyItemToDocument( docM, "Body" )
flagAnhang = "Abweichung"
Exit ForAll
End If
End ForAll
End If
End If
If flagAnhang = "Angebot" Then
If Not rtitemA Is Nothing Then
If (rtitemA.Type = RICHTEXT ) Then
ForAll object In rtitemA1.EmbeddedObjects
If ( object.Type = EMBED_ATTACHMENT ) Then
Call rtitemA.CopyItemToDocument( docM, "Body" )
Exit ForAll
End If
End ForAll
End If
End If
End If
End Function
'2. Variante
If ( rtitemA1.Type = RICHTEXT ) Then
FileName = rtitemA1.Values(0)
Set object = rtitemA1.GetEmbeddedObject( FileName )
If ( object Is Nothing ) Then 'Feld Angebot-Abweichung ist leer
If ( rtitemA.Type = RICHTEXT ) Then
FileName = rtitemA.Values(0)
Set object = rtitemA.GetEmbeddedObject( FileName )
If not( object Is Nothing ) Then
Call rtitemA.CopyItemToDocument( docM, "Body" )
End If
End If
Else
Call rtitemA1.CopyItemToDocument( docM, "Body" )
End If
End If
Bekomme ich folgende Fehlermeldung, unabhängig davon, ob das FELD Angebot_Abweichung leer ist oder nicht.
s. Bilde: 2_Debug.gif, 2_Fehlermeldung.gif