Hallo zusammen,
Ich habe aktuell ein Thema bei dem ich in einem NotesRichTextItem eine Tabelle benötige und diese dann noch an bestimmten Stellen befüllt werden muss. D.h. ich habe eine 2-spaltige Vorlage, bei der auf der linken Seite immer die gleichen Titel stehen (z.B. ID). Auf der rechten Seite muss ich eben jetzt, je nach aktuellem Datensatz, die Daten reinschreiben.
Das ganze soll später als Agent im Hintergrund laufen. Ich habe dazu schon etwas Code ausprobiert:
Sub Click(Source As Button)
Dim s As New NotesSession
Dim db As Notesdatabase
Dim Doc As Notesdocument
Dim rt As NotesRichTextItem
Dim viewTB As NotesView
Dim rtTB As NotesRichTextItem
Dim docTB As Notesdocument
Dim rtnav As NotesRichTextNavigator
Dim rttable As NotesRichTextTable
Set db = s.CurrentDatabase
Set doc = db.CreateDocument
doc.Form = "SB" 'Legt Form fest
Call doc.CreateRichTextItem("Body")
Set rt=doc.getFirstItem("Body")
'Greift auf die Textbausteine zu und holt sich den entsprechenden (in diesem Fall ein RichText-Feld mit einer Tablle (nur einer Tabelle da ist sonst nichts anderes)
Set viewTB=db.GetView("Textbausteine")
Set docTB=viewTB.GetDocumentByKey("SB-Test")
Set rtTB=docTB.GetFirstItem("Text")
Call rt.AppendRTItem(rtTB)
Set rtnav = rt.CreateNavigator 'Navigator um durch die einzelnen Zellen der Tabelle laufen zu können - Aber genau hier gibts Probleme! Er erstellt mir an dieser Stelle keinen Navigator (zumindest nicht im Debugger sichtbar)
Set rttable = rtnav.GetFirstElement(RTELEM_TYPE_TABLE) 'damit scheitert er auch an dieser Stelle, was ich aber unbedingt brauche um auf einzelne Zellen zugreifen zu können
If rttable Is Nothing Then
Msgbox "Keine Tabelle enthalten"
End If
Call doc.Save(True, False)
End Sub
Ist daran etwas falsch? oder gibt es gar eine andere Lösung für das Problem?
Ich bin für Hilfe sehr dankbar!
Grüße,
Mathias
Lösung:
Set rtrange = rtitem.CreateRange
count& = rtrange.FindandReplace("XX1", "Test")
If rtnav.FindFirstString("XX9") Then
Call rtrange.SetBegin(rtnav)
Call rtAd.BeginInsert(rtnav, False)
Call rtAd.AppendRTItem(rtAnforderungen)
End If
Mit diesem Befehl wäre ich also nun an der Stelle, an der ich mein RichTextItem einfügen will. Aber ich bekomme dabei leider eine Fehlermeldung "Method ist not available" in der Zeile, wo er das RichTextItem anhängen soll.
Kann man an dieser Stelle keine RichTextItems anhängen?