Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Syeg am 03.03.06 - 11:52:35
-
Hoi z'samme
Ein neues Dokument (in einer anderen DB) soll in einem RichText-Feld vor dem Inhalt vom Body der aktuellen Mail noch ein paar "Kopfzeilen" enthalten.
Mit folgendem Code erhalte ich den Fehler "Problem mit input variant" (wobei "diesMail" und "neuToDo" das alte und das neue Dokument ist, "Inhalt" ein RichText-Feld ist):
.......
Dim neuInhalt As NotesRichTextItem
Dim Kopf As String
Set neuInhalt = diesMail.GetFirstItem("Body")
Kopf = "-------------------------------------------------------------"
Kopf = Kopf + Chr(13) + Cstr(diesMail.Principal (0)) + " - "
...etc
Kopf = Kopf + Chr(10) + Chr(13)
Kopf = Kopf + "----------------------------------------------------"
Call neuInhalt.BeginInsert(Kopf)
Call neuInhalt.CopyItemToDocument(neuToDo,"Inhalt")
..............
Was mache ich falsch?
Esteban
-
Hi,
An welcher Stelle Deines Codes kommt denn der Fehler?
(Debugger)
Andreas
-
Hi Andreas
Das ist wirklich wichtig! Der Fehler kommt ja schon beim ersten call, dem call für den BeginInsert ... Aber ich komme trotzdem nicht klar ...
-
Hi Esteban,
Kleiner Auszug aus der Design-Help
Call notesRichTextItem.BeginInsert( element, [ after ] )
Parameters
element
NotesEmbeddedObject, NotesRichTextDocLink, NotesRichTextNavigator, NotesRichTextRange, NotesRichTextSection, or NotesRichTextTable. The element. A NotesRichTextNavigator element means the element at the current position of the navigator. Other elements mean the specified element.
after
Boolean. Optional.
True puts the insertion position at the end of the element.
False (default) puts the insertion position at the beginning of the element.
-
Hi Andreas
Heisst das, ich kann keinen Text anhängen?
Oder muss ich da gans anders vorgehen? Ich habe nichts anderes gefunden als BeginInsert...
-
Du kannst Text mit der Methode .AppendText einfügen. Mit der Methode .BeginInsert, kannst Du die Position bestimmen, wo der Text eingefügt werden soll. Schau Dir am Besten die Beispiele in der Designer-Hilfe an.
Viele Grüße
ghost
-
Eine sehr gute Beschreibung zur Programmierung von RichText Feldern findet sich auch hier:
http://publib-b.boulder.ibm.com/redbooks.nsf/RedbookAbstracts/sg246854.html?Open
Kapitel 15 Rich text programming
Viele Grüße
ghost
-
Hi Ghost
Beispiel zu AppendText = Einfügen am Schluss.
Habe nun folgendes ergänzt:
Dim altInhalt As NotesRichTextItem
...
Set neuInhalt = New NotesRichTextItem(neuToDo, "Text")
Call neuInhalt.AppendText(Kopf)
' damit der text am Anfang ist, oder?
Set altInhalt = diesMail.GetFirstItem("Body")
Call neuInhalt.BeginInsert(altInhalt,True )
' damit der Body nacher kommt ..
Erhalte nun "Element or Navigator is invalid" .. Klar, das Argument vom BeginIsert ist noch immer falsch. Also wie bringe ich das zustande?..,
... und im DominoDesigner-Red Book habe ich auch nicht gefunden, wie man dem Append beibringt, dass er am Anfang "appenden" soll (darf man, nach der neuen deutschen Rechtschreibreformreform!)..
-
Ein Bilck in die Designer-Hilfe würde Wunder bewirken. Denn da steht unter anderem bei BeginInsert
...
Call notesRichTextItem.BeginInsert( element, [ after ] )
Parameters element
NotesEmbeddedObject, NotesRichTextDocLink, NotesRichTextNavigator, NotesRichTextRange, NotesRichTextSection, or NotesRichTextTable. The element. A NotesRichTextNavigator element means the element at the current position of the navigator. Other elements mean the specified element.
...
Du kannst bei BeginInsert als Element kein RTF-Feld übergeben, sondern nur eins der angegebenen Elemente.
Schau dir mal das Beipiel in der Designer-Hilfe an.
Axel