Domino 9 und frühere Versionen > ND6: Entwicklung
AddNewLine Methode
Andreas Huhn:
Hallo zusammen,
versuche mich gerade an einer Kommentarfunktion.
Dazu soll es möglich sein Text in einem Richtextfeld hinzuzufügen, als neue Zeile (AddNewLine Methode).
Im Moment scheitere ich aber daran den Link auf das aktuelle Doc zu setzen. Und zwar in einem Code der in einer Hotspot-Schaltfläche sitzt.
Hab das bisher mit Source.Document gemacht, aber das klappt hier ja nicht weil Source zur Schaltfläche gehört.
Mit Set doc = ws.CurrentDocument funktioniert es nicht, er sagt daß ein Fehler in der Zeile ist.
Mein Code sieht im Moment so aus:
--- Code: ---Sub Click(Source As Button)
Dim doc As NotesDocument
Dim rtitem As Variant
Dim ws As New NotesUIWorkspace
'...set value of doc...
Set doc = ws.CurrentDocument
Set rtitem = doc.GetFirstItem( "rtTest" )
If rtitem.Type = RICHTEXT Then
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText( "Book is 64 pages, full color." )
End If
Call doc.Save( False, True )
End Sub
--- Ende Code ---
koehlerbv:
Was gibt NotesUIWorkspace.CurrentDocument zurück ? Ein NotesUIDocument. Du weist das aber einem NotesDocument zu. Das kann nix werden (by the way "eine Fehlermeldung" ist hier keine Fehlermeldung - Du musst schon schreiben, was da auf Deinem Monitor stand, wir wollen hier kein unnötiges Reengineering betreiben).
Set doc = ws.CurrentDocument.Document.
Dann kommt auch "eine Fehlermeldung" nicht mehr ;D
Bernhard
Andreas Huhn:
Grüß dich Bernhard,
Die Meldung war:
Type missmatch on: CURRENTDOCUMENT
Aber das .Document hat halt gefehlt, nun kommt sie nicht mehr, dafür eine Meldung "Object variable not set".
Nach Aktivierung des Debuggers markiert er die Zeile:
Dim ws As New NotesUIWorkspace
mit einem vorangestellten Pfeil.
--- Code: ---Sub Click(Source As Button)
Dim doc As NotesDocument
Dim rtitem As Variant
Dim ws As New NotesUIWorkspace
'...set value of doc...
Set doc = ws.CurrentDocument.Document
Set rtitem = doc.GetFirstItem( "rtTest" )
If rtitem.Type = RICHTEXT Then
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText( "Book is 64 pages, full color." )
End If
Call doc.Save( False, True )
End Sub
--- Ende Code ---
Was ein NotesUIDocument ist weiß ich nicht genau, werd aber gleich mal die Hilfe befragen. Was ich versuche zu tun ist einen Text an ein Richtextdocument zu übergeben und an den bestehenden Text anzuhängen.
koehlerbv:
In der Zeile kommt aber bestimmt nicht die Fehlermeldung, ich befürchte eher, dass es das Item "rtTest" noch nicht gibt und daher der Fehler in der Zeile
Set rtitem = doc.GetFirstItem( "rtTest" )
auftritt. Du musst also mit "Fortfahren" dem Debugger eine chance geben, bis zur fehlerhaften Zeile vorzudringen.
Bernhard
Andreas Huhn:
Okay dann mach ich das doch..
Nö, das Feld rtTest gibt es bereits. Es sit ein Bearbeitbares Feld vom Typ RichText.
Der Debugger zeigt jetzt den Fehler (nach Klicken auf Fortfahren solange das möglich ist) in der Zeile:
If rtitem.Type = RICHTEXT Then
an.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln