Domino 9 und frühere Versionen > Entwicklung
Problem mit RichtextItem
JimKnopf:
Hallo,
vielleicht ist jemand so nett und tritt mir hilfreich in die Seite.
Ich möchte eine Richtextfeld per Script füllen. Meinen Ansatz habe ich aus der Designer-Hilfe und diesem Forum, aber es funktioniert leider nicht. Hier der Test-Code, welcher beim Klicken eines Buttons ausgeführt wird:
Sub Click(Source As Button)
Dim Session As New NotesSession
Dim Workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim curDoc As NotesUIDocument
Dim Doc As NotesDocument
Dim rtItem As NotesRichtextItem
Set db = Session.CurrentDatabase
Set curDoc = Workspace.CurrentDocument
Set Doc = curDoc.Document
Set rtItem = Doc.GetFirstItem( "Ergebnis")
Call rtItem.AppendText( "Hallo1" )**
Call rtItem.AddNewLine (1)
Call rtItem.AppendText( "Hallo2" )
(...)
End Sub
** Hier erfolgt der Abbruch unter der Fehlermeldung: "Objectvariable not set". Was mache ich falsch? Die Meldung ist eindeutig, aber warum wird sie nicht gesetzt. Das Feld "Ergebnis" existiert in der Maske und ist auch als RichText definiert.
Vielen Dank für die Mühe!
Gruß
Arne
Semeaphoros:
Entweder existiert das Item "Ereignis" noch nicht, oder es ist kein RT sondern normaler Text. Du musst das RT-Item mit der entsprechenden Dokument-Methode erzeugen (CreateRitchTextItem oder so ähnlich)
Glombi:
Trittin ;D
Auf den ersten Blick sieht es ok aus. Aber die Meldung besagt, dass es das Feld "Ergebnis" nicht gibt - jedenfalls kann er auf das Item nicht zugreifen.
Versuch mal folgendes
...
dim rtitem as Variant
...
if Doc.HasItem("Ergebnis") then
Set rtItem = Doc.GetFirstItem( "Ergebnis")
If ( rtitem.Type = RICHTEXT ) Then
Call rtItem.AppendText( "Hallo1" )**
Call rtItem.AddNewLine (1)
Call rtItem.AppendText( "Hallo2" )
else
msgbox "Feld Ergebnis ist kein RT Feld"
end if
else
msgbox "Feld Ergebnis nicht vorhanden!"
end if
Andreas
dottore:
Hi,
sieh mal im debugger nach, welche Variablen gesetzt sind und welche nicht.
Ausserdem kann es ärger geben, wenn das RTItem noch nicht im Dokument vorhanden ist (weil es z.B. noch nicht gespeichert wurde).
In diesem Fall solltest Du das RTItem als Variant deklarieren.
In der Hilfe steht das beim NotesDocument --> getFirstItem ganz unten dabei...
...hoffe, ich konnte helfen
JimKnopf:
Erstmal Danke an alle!
Das Feld scheint für Notes tatsächlich nicht zu existieren?!?!?
Also, ich habe ein Feld in einer Maske im Designer erstellt (Name = "Ergebnis"; Typ = "Rich Text").
Jetzt öffne ich diese Maske (und erstelle damit ein neues Dokument).
Dann wird der Code ausgeführt. Was habe ich nicht verstanden, also warum ist das Feld nicht ansprechbar?!?! ???
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln