Autor Thema: Probleme mit NotesRichTextItem.AddPageBreak  (Gelesen 2279 mal)

Jürgen Schomann

  • Gast
Probleme mit NotesRichTextItem.AddPageBreak
« am: 24.04.14 - 18:09:48 »
Ich habe folgenden Code:

Code
	Dim session As New NotesSession
	Dim dbThis As NotesDatabase
	Dim dc As NotesDocumentCollection
	Dim doc As NotesDocument
	Dim rti As NotesRichTextItem
	Dim rtNav As NotesRichTextNavigator
	
	Set dbThis = session.CurrentDatabase
	Set dc = dbThis.UnprocessedDocuments
	Set doc = dc.GetFirstDocument
	Set rti = doc.GetFirstItem("Body")
	Set rtNav = rti.CreateNavigator
	If rtNav.FindNthElement(RTELEM_TYPE_TEXTPARAGRAPH, 2) Then
		Call rti.BeginInsert(rtNav)
		'Call rti.AddNewLine(1)
		Call rti.AddPageBreak		'Hier kommt die Fehlermeldung 'Method is not available'
		Call rti.EndInsert
		Call doc.Save(True, False)
	End If

Wenn ich diesen abarbeite kommt oben als Kommentar angegebene Fehlermeldung. Wenn ich statt dessen die auskommentierte Zeile mit AddNewLine verwende., läuft es richtig.
Die ist nur ein stark abgerüsteter Test. Lt. Designer-Hilfe kann aber auch bei AddPageBreak der Einfügepunkt über BeginInsert festgelegt werden.
Was ist daran falsch?

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #1 am: 25.04.14 - 09:14:18 »
Hmmm... Das hilft Dir jetzt nix, aber ich kann das in meiner Mailfile 1:1 nachvollziehen (Notes 9.0.1)... Nur erklären kann ich es mir aktuell nicht.

Hier meine Tests (die Du sicher auch schon alle gemacht hast, nur für den nächsten, der sich das anschauen will):

- Ohne das "BeginInsert" kommt die Meldung nicht
- Ein "AppendText" nach dem "BeginInsert" setzt den Text an die erwartete Stelle vor dem 2. Text- Paragraph

Da es definitiv in der Hilfe anders steht, würde ich das als Bug sehen. Auch Google weiss dazu scheinbar nix
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #2 am: 25.04.14 - 09:28:29 »
Nur mal so als Idee, ohne es im Richtext ausprobiert zu haben:

AddPageBreak soll doch einen Seitenumbruch einfügen, hast Du mal

AppendText (Chr (12))

ausprobiert? Chr (12) ist ja ein Seitenumbruch ...  (im Textfeld mit Export nach Word funktioniert das jedenfalls)

Jürgen Schomann

  • Gast
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #3 am: 25.04.14 - 16:05:35 »
Vielen Dank für eure Hinweise.
Chr(12) bringt nur ein Sonderzeichen. Man wird wohl warten müssen bis jemand das bei IBM merkt und behebt.

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #4 am: 25.04.14 - 17:37:00 »
Soweit ich mich noch erinnern kann, gibt es keine "Seitenumbruch-Objekte" im Richtext.
Es wird also technisch gesehen kein Seitenumbruch "angefügt", sondern lediglich der letzte Absatz mit dem Attribut versehen, "Mach bitte nach mir einen Seitenumbruch"
Wenn das RT Feld noch leer ist, geht das halt nicht.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Jürgen Schomann

  • Gast
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #5 am: 25.04.14 - 18:19:54 »
Hallo Roland, deine Antwort verstehe ich nicht.
1. Das Rich-Text-Feld in meinem Test ist nicht leer und enthält mehrere Absätze
2. Lt. Designer-Hilfe soll man auch einen Seitenumbruch mir BeginInsert positionieren können
3. Ohne positionieren geht der Seitenumbruch natürlich immer ans Ende, aber das will ich ja nicht

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #6 am: 25.04.14 - 23:24:32 »
Das betrifft auch frühere Versionen (7.0.4, 8.0.2 getestet). Ich vermute, wir haben da noch einen Denkfehler. Ähnliche Fehlermeldungen finde ich jedenfalls nicht, obwohl dieser Code schon lange nicht tun kann.
Leider bin ich aber zu blind / zu kaputt, einen Fehler unsererseits zu erkennen.

Sorry,
Bernhard

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Probleme mit NotesRichTextItem.AddPageBreak
« Antwort #7 am: 26.04.14 - 17:43:59 »
Hallo Jürgen,

sorry ich hatte überlesen, dass du in deinem Code ein bereits vorhandenes RT-Item verwendest. Dann zählt natürlich meine Aussage nicht.
(Ich kann mich aber dunkel dran erinnern, dass es bestimmte Funktionen gab, die "ganz am Anfang" des Items nicht das tun was man erwartet.)

Dein Code schaut ansich richtig aus.
Evtl hilft dir aber das: Dein Navigator steht ja noch am Paragraphen. Versuch mal den Navigator zum ersten RTELEM_TYPE_TEXTRUN "weiterzuschieben", z.B. so:
Code
If rtNav.FindNthElement(RTELEM_TYPE_TEXTPARAGRAPH, 2) Then
   if rtNav.FindNextElement(RTELEM_TYPE_TEXTRUN) Then
   ....

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz