Domino 9 und frühere Versionen > ND8: Entwicklung
Body Feld über Script aus mehreren Variablen zusammen stellen
(1/1)
mweitzel:
Hallo,
Ich versuche aus dem mehreren Feldern eines gesuchten Dokumentes das Body Feld einer Mail zu füllen. Leider funktioniert das nicht.
Dim tmpbody As Variant
Dim tmpbody1 As Variant
Dim tmpbetreff As variant
tmpbody = findedoc.GetItemValue("Body1")
tmpbody1 = findedoc.GetItemValue("Body2")
tmpbetreff = findedoc.GetItemValue("Betreff_1")
Call rtitem.AppendText( tmpbopy) -> Das funktioniert nicht mit z.B. "test1234" geht es.
Wie kann man ein ritem mit mehreren Variants füllen? Oder ist der Ansatz das Problem über ein rtitem zu lösen falsch?
Peter Klett:
Schau Dir mal in der Hilfe NotesRichtextItem.Appendrtitem an
mweitzel:
Der Weg ist glaube ich der Richtige aber das Script bricht an den Markierungen ab.
currsubject = currdoc.GetItemValue("Subject")
currposted = currdoc.GetItemValue("PostedDate")
Dim keyword As Variant
keyword = currdoc.GetItemValue("$TK_NABRecipients")
Set findeDoc = view.GetDocumentByKey( keyword )
If( findeDoc Is Nothing ) Then
Call currdoc.Remove(True)
Else
If currdoc.GetItemValue("Form")(0) = "CopyForm" Then
Dim tmpbody As Variant
Dim tmpbody1 As Variant
Dim tmpbetreff As variant
Dim rtitem As variant
tmpbody = findedoc.GetItemValue("Body1")
tmpbody1 = findedoc.GetItemValue("Betreff")
tmpbetreff = findedoc.GetItemValue("Betreff_1")
Set rtitem = doc.Getfirstitem("Body")
Call rtitem.appendrtitem (tmpbody)
Call rtitem.addnewline(4)
Call rtitem.appendtext ("Hinweis: Dies ist eine automatische Antwort auf Ihre eMail-Nachricht.")
Call rtitem.appendrtitem (currsubject)
Call rtitem.appendtext (" gesendet am: ")
Call rtitem.appendrtitem (currposted)
Call rtitem.appendtext (".")
Peter Klett:
Welche Markierungen?
Du solltest Dir in der Hilfe die Beispielscripte ansehen, z.B.
--- Code: ---Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtitemA As Variant
Dim rtitemB As Variant
'...set values of docA and docB...
Set rtitemA = docA.GetFirstItem( "Body" )
Set rtitemB = docB.GetFirstItem( "Body" )
If ( rtitemA.Type = RICHTEXT And _
rtitemB.Type = RICHTEXT ) Then
Call rtitemA.AppendRTItem( rtitemB )
Call rtitemB.Remove
Call docA.Save( False, True )
Call docB.Save( False, True )
End If
--- Ende Code ---
anstatt in einem Script einen Befehl durch einen anderen zugerufenen auszutauschen.
Dieses hier
currsubject = currdoc.GetItemValue("Subject")
...
Call rtitem.appendrtitem (currsubject)
ist z.B. völlig sinnfrei. Wieso glaubst Du, dass das funktionieren sollte? An ein Richtextitem einen Text (aus einem Nicht-Richtextitem) als Richtextitem anfügen?
mweitzel:
Vielen Dank für die Unterstützung. Es funktioniert jetzt. Der Hinweis mit den Datentypen hat mich auf den richtigen Weg gebracht.
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln