(gelöst) Cursorposition ermitteln

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

LokutusvB
***
Beiträge: 77
Registriert: Di, 03.11.2009 09:52

(gelöst) Cursorposition ermitteln

Beitrag von LokutusvB »

Hallo :),

und wieder einmal ein kleines Problem. Ich möchte die aktuelle Cursorposition ermitteln und dort Text anfügen, da ja leider über Zelle.setString der Zelleninhalt überschrieben wird.

So habe ich mir eine Funktion erstellt, die den viewCursor ermitteln soll und dann an den Textcurso übergeben soll. Soweit zur Theorie

Code: Alles auswählen

function GetCursor: Variant;
var
  viewCursor, textCursor: Variant;
begin
  viewCursor := Document.getCurrentController.ViewCursor;
  textCursor := Document.text.createTextCursor;
  textCursor.gotoRange(viewCursor, False); // Runtime Exception
  // viewCursor.gotoRange(textCursor, False); // falsche Pos
  Result := textCursor;
end;
Wie in der Star Basic FAQ http://www.dannenhoefer.de/faqstarbasic/cursor2.html beschrieben, habe ich das ausprobiert. Allerdings funktioniert das nicht. Entweder kommt eine Fehlermeldung, oder der Cursor ist an der falschen Position (siehe Code). Wo liegt hier noch der Fehler?

Zusatz:
Warum auch immer dieser Ansatz fehlerhaft ist (man findet ihn sehr oft im Net), habe ich eine Lösung gefunden, die funktioniert.

Code: Alles auswählen

...
viewCursor := Document.getCurrentController.ViewCursor;
txt := viewCursor.getText;
textCursor := txt.createTextCursorByRange(viewCursor);
...