Autor Thema: Absatzmarke in einem RichText Feld  (Gelesen 5684 mal)

Offline vrhsva

  • Frischling
  • *
  • Beiträge: 25
Absatzmarke in einem RichText Feld
« am: 06.06.18 - 11:16:15 »
Hallo,
irgendwie bekomme ich mit Script und auch mit Formel keine echte Absatzmarke in ein RichTextFeld.
Also, ich habe ein offenes Dokument, das letzte Feld ist ein RichText Feld für Notizen. Über dem Feld ist ein Knopf, der folgendes macht:
Curser an das Ende des Richtext-Feldes setzen,
Absatz einfügen,
aktuelles Datum einfügen, UserNamen einfügen, Doppelpunkt, Tab
Anschließend kann ich dann meine Notiz dahinterschreiben.
Wenn ich das nächste Mal auf den Knopf drücke, wieder Datum und User in eine neue Zeile, usw.

Funktioniert auch tadellos. Jetzt wollte ich dieses Feld ein bischen übersichtlicher gestalten und habe in den Feldeigenschaften den Linken Einzug so eingestellt, dass die erste Zeile des Absatzes auf 0cm steht und die folgenden auf 4cm. (FieldProperties->5. Reiter->FirstLine 3.Schaltfläche->Outdent 4cm) Also dass das Ganze wie 2 Spalten wirkt.
Wenn ich über die Tastatur eine neue Zeile beginne, springt der Curser auch brav zurück auf 0cm. Wenn ich das aber über den Knopf mache, dann fängt die neue Zeile erst bei 4cm an. Als hätte ich Hochstellung + Enter gedrückt und nicht einfach nur Enter

Ich habe es mit char 0, 10 und 13 ausgetestet. Keines davon führt ein echtes Enter aus.

Habe den Knopf mit Formel und alternativ mit Script bestückt. In beiden Fällen nutze ich UI Funktionen wie @command(EditBottom) (das RichtextFeld ist das letzte Feld in der Maske) und InsertText

Ich habe über Menü->View->Show->Hidden Caracters mal die Sichtbarkeit der Absatzmarken eingeschaltet, da ist mir aufgefallen, dass nach der Knopfbetätigung keine Absatzmarke (¶ ) angezeigt wird. Nur wenn ich Enter drücke.

Gibt es denn überhaupt eine Möglichkeit über UI einen neuen Absatz einzufügen?
Also die Möglichkeit mir im Backend das RichtextItem zu schnappen und AppendNewLine dort reinzuschreiben, und anschließend das Dokument im Frontend zu schließen und wieder zu öffnen wäre für mich keine Option, weil ich nach Betätigung des Knopfes immernoch entscheiden möchte, ob ich die Änderung denn auch abspeichern möchte oder nicht.

Ich hoffe ich habe das Problem halbwegs verständlich rübergebracht und mir kann jemand einen Tip geben.
DominoServer 9.01 - Linux
NotesClient 8.5.3 - Windows 7

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Absatzmarke in einem RichText Feld
« Antwort #1 am: 06.06.18 - 14:27:25 »
mit sendKeys scheint es zu gehen, ist LotusScript für dich eine Variante?
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline vrhsva

  • Frischling
  • *
  • Beiträge: 25
Re: Absatzmarke in einem RichText Feld
« Antwort #2 am: 06.06.18 - 15:12:03 »
mit
      Call uidoc.Gotobottom()
      SendKeys "~", true

bekomme ich nur einen IllegalFunctionCall

Aber ich habe in der Vergangenheit schon öfter mal mit sendKeys rumgespielt und nie ein brauchbares Ergebnis erziehlt. Selbst wenn ich das Beispiel aus der DesignerHilfe 1:1 in einen Button kopiere, bekomme ich einen IllegalFunctionCall

Muss man das noch irgendwie freischalten? Oder spielt da ein AntiViren Programm noch eine Rolle?
DominoServer 9.01 - Linux
NotesClient 8.5.3 - Windows 7

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Absatzmarke in einem RichText Feld
« Antwort #3 am: 06.06.18 - 15:13:46 »
ja diese LS-Funktion geht nicht, probier es mal damit:
Code
Sub sendKeys2(keyString As String)	
	Dim wsh
	Set wsh = CreateObject("WScript.Shell")
	wsh.SendKeys keyString, True		
End Sub
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline vrhsva

  • Frischling
  • *
  • Beiträge: 25
Re: Absatzmarke in einem RichText Feld
« Antwort #4 am: 06.06.18 - 15:35:20 »
Aha, das funktioniert schon mal StandAlone. Aber in meinem Code führt er erst das Einfügen der Zeichenkette und dann die Zeilenschaltung aus dem SendKeys aus, obwohl das Statement vorher ausgeführt wird. Ich möchte aber, dass die Zeilenschaltung vor der Zeichenkette ausgeführt wird
Hier ist mein Code:
Code
Sub Initialize
	Dim ns As New NotesSession
	Dim ws As New NotesUIWorkspace
	ma = "(" & ns.Commonusername & "):"
	Dim uid As NotesUIDocument
	Set uid = ws.CurrentDocument
	If uid.Editmode=false Then uid.Editmode=True
	If Not uid.Fieldgettext("Maßnahmen")="" Then
		Call uid.Gotobottom()
		Call Zeilenschaltung	
	End If		
	Call uid.Fieldappendtext("Maßnahmen",CStr(Today)& ": " & ma & Chr$(9))
	Call uid.Gotobottom()
End Sub

Sub Zeilenschaltung
	Dim wsh
	Set wsh = CreateObject("WScript.Shell")
	wsh.SendKeys "~", true
End Sub

Komisch, oder?
DominoServer 9.01 - Linux
NotesClient 8.5.3 - Windows 7

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Absatzmarke in einem RichText Feld
« Antwort #5 am: 06.06.18 - 16:00:25 »
da wirst du alles mit "Sendkeys" übergeben müssen
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline vrhsva

  • Frischling
  • *
  • Beiträge: 25
Re: Absatzmarke in einem RichText Feld
« Antwort #6 am: 06.06.18 - 16:13:12 »
Hab ich versucht, funktioniert soweit auch, nur mit dem TAB hab ich Schwierigkeiten, da sich das RichTextFeld innerhalb einer Tabellenzelle befindet, muss ich mit STRG+TAB arbeiten. Pack ich das aber in SendKeys mit "+{TAB}", verschiebt er nur den CurserFocus auf die nächste Schaltfläche
DominoServer 9.01 - Linux
NotesClient 8.5.3 - Windows 7

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Absatzmarke in einem RichText Feld
« Antwort #7 am: 06.06.18 - 16:22:26 »
bei STRG+TAB musst du ^{TAB} verwenden
« Letzte Änderung: 06.06.18 - 16:25:18 von jBubbleBoy »
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline vrhsva

  • Frischling
  • *
  • Beiträge: 25
Re: Absatzmarke in einem RichText Feld
« Antwort #8 am: 06.06.18 - 16:29:32 »
Ups, da habe ich mich in der Designer Hilfe verlesen. Vielen Dank Eric, jetzt funktioniert alles so, wie ich es mir vorstelle.
DominoServer 9.01 - Linux
NotesClient 8.5.3 - Windows 7

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Absatzmarke in einem RichText Feld
« Antwort #9 am: 06.06.18 - 16:40:48 »
Nur so nebenbei: Du weisst schon, dass in Windows der Zeilenumbruch aus ZWEI Zeichen besteht, nämlich CR UND LF.

Chr$(13) & Chr$(10) ergibt einen "ganz normalen" Zeilenumbruch...
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)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz