Hi,
das im Betreff angegebene funktioniert nicht.
Gibts da irgendeinen Trick?
For i = 0 To Ubound(globArrDocGraph)
Print "add Document to email: " & globArrDocGraph(i).UniversalID
Call objEmail.addRenderedDocToRTItem(globArrDocGraph(i), "BodyProcess")
Next
In der Klasse des Objekts objEmail steht sowas:
'###########################################################################################################
'/**
' * add rendered Document to the RichTextField
' *
' * @param the notes document to be copied in the RichTextItem
'* @param the name of the RichTextItem
' * @depends (based on)
' * @return indicates success or failure of operation
' * <br><code>@calls:</code> LSLibErrorHandling - handleError
' * <br><code>@calls:</code>
' * <br><code>@calledby:</code>
' * @version 1.0 build 15.08.2007
' * @author Axel Janssen
' */
Public Function addRenderedDocToRTItem(doc As NotesDocument, strNameRTItem As String) As Integer
'ErrorHandling
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Const constrErrorLocation = "(LsClassSpiMailMergeEMail) - addRenderedDocToRTItem()"
On Error Goto ErrorHandler
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Dim rtItem As NotesRichTextItem
Set rtItem = New NotesRichTextItem(i_docEMail, strNameRtItem)
'doc.Save True, False
i_docEMail.save True, False
addRenderedDocToRTItem = doc.RenderToRTItem(rtItem)
Ende:
Exit Function
'--------------------------------------- Error handling -------------------------------------------------
ErrorHandler:
Call objPublicErrorHandler.handleError ( Err, Error, Erl, constrErrorLocation, getMsgText(12))
addRenderedDocToRTItem = False
Resume Ende
End Function
Auch wenn ich das Dokument, in der das Dokument an das RichTextItem angehängt werden soll, vor der Operation abspeichere, tut er da immer nur das letzte Dokument des Arrays rein.
Irgendwelche Ideen?
Gruß Axel
Hm. Richtig logisch find ich es nicht. Schliesslich ist das eine Objekt-Repräsentanz des RichTextItem und nicht das wirkliche Ding.
Nur weil ich ein neues Objekt davon bilde, soll er doch nicht das bestehende Feld leeren ???
Wenn ich mit
i_docMail.getFirstItem(strName)
findet er es nicht. D.h. die Variable, die den Rückgabewert der Methode hält, bleibt leer.
Versuch noch ein paar Alternativen.
Gruß Axel
Danke für die tolle Unterstützung.
So geht es:
Public Function addRenderedDocToRTItem(doc As NotesDocument, strNameRTItem As String, firstCall As Integer) As Integer
'ErrorHandling
' -- stuff
Dim rtItem As NotesRichTextItem
Stop
If firstCall Then
Set rtItem = New NotesRichTextItem(i_docEMail, strNameRtItem)
Else
Set rtItem = i_docEMail.getFirstItem(strNameRtItem)
End If
' - other stuff
Im ersten Aufruf muss das RichTextItem-Objekt über NEW geholt werden.
In allen folgenden Aufrufen dann über doc.GetFirstItem(strNameItem).
Ganz einsehen tue ich das nach wie vor nicht.
Ich glaub, ich muss meinen 2-jährlichen Thread auf Ben Langhinrich zu RichText starten...
Werd hier den Link anhängen, hab aber zur Zeit eine Menge Arbeit.
Gruß Axel
ja das ist schon komisch, aber z.B. ein
For a = 0 To 9
Set it = New NotesItem(doc, "meinFeldname", a)
Next
erzeugt 10 gleichnamige Felder.
bubble
PS: es gibt auch die Funktion doc.getNextItem(item) ;)