Beitrag aus SmartTools Access Weekly
Aktuelle Cursorposition in einem Memofeld speichern
Access 365 2024 2021 2019 2016 2013 2010
FRAGE In einem Formular bearbeite ich ein Memofeld. Über Schaltflächen möchte ich in diesem Memofeld Textteile automatisiert an der Cursorposition einfügen. Durch den Wechsel zur Schaltfläche verliere ich aber den Fokus und damit auch die Cursorposition. Ich schaffe es, nur an das Ende des Memofeldes Textteile hinzuzufügen. Ich möchte die Position des Cursors "merken", um dann zielgerichtet an dieser Stelle einen Text einzufügen.
Diverse Anfragen
ANTWORT: Deklarieren Sie zunächst eine globale Variable im allgemeinen Teil des Formulars:
Dim iCursorPos as Integer
Geben Sie dann in der Ereignisprozedur "Bei Fokusverlust" folgende Anweisung ein:
iCursorPos = Me.Memofeld.SelStart
"Memofeld" ersetzen Sie durch den Namen Ihres Memofeldes. Mit dieser Anweisung wird die aktuelle Cursorposition beim Verlassen des Feldes festgehalten. Die Länge einer Markierung können Sie per "Me.Memofeld.SelLength" ermitteln, wenn Text am Ende hinzugefügt werden muss.