Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: mweitzel am 15.10.15 - 12:18:36

Titel: Body Feld über Script aus mehreren Variablen zusammen stellen
Beitrag von: mweitzel am 15.10.15 - 12:18:36
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?
Titel: Re: Body Feld über Script aus mehreren Variablen zusammen stellen
Beitrag von: Peter Klett am 15.10.15 - 12:34:24
Schau Dir mal in der Hilfe NotesRichtextItem.Appendrtitem an
Titel: Re: Body Feld über Script aus mehreren Variablen zusammen stellen
Beitrag von: mweitzel am 15.10.15 - 13:07:29
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 (".")
         
         
Titel: Re: Body Feld über Script aus mehreren Variablen zusammen stellen
Beitrag von: Peter Klett am 15.10.15 - 13:31:18
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

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?
Titel: Re: Body Feld über Script aus mehreren Variablen zusammen stellen
Beitrag von: mweitzel am 15.10.15 - 15:30:09
Vielen Dank für die Unterstützung. Es funktioniert jetzt. Der Hinweis mit den Datentypen hat mich auf den richtigen Weg gebracht.