Seite 1 von 1

gelöst - Calc - Cursor/Tabelle verschieben

Verfasst: Do 5. Mär 2020, 13:53
von Bronco
Hallo Leute

Ich bräuchte eine kleine Starthilfe (neu in LO) - würdet Ihr mir helfen?

Ich hab eine gaanz breite Tabelle (Spalte A bis BZ), in die Daten eingegeben werden sollen. Aber es gibt nicht für jede Spalte Daten, sodass man die "Tabelle" bzw. die aktive Zelle oft (mit der Maus) weit nach rechts verschieben muss. Das ist nicht nur ungut sondern auch fehleranfällig (falsche Zeile).
Jetzt wollte ich Makros schreiben, die diese Schieberei übernehmen ...

Das Ermitteln der aktiven Zelladresse (Zeile, Spalte) hab ich geschafft (Suche im Web):

Code: Alles auswählen

Sub getCellPosition
       Dok=thisComponent
       Zelle=Dok.getCurrentSelection().getCellAddress()
       Zeile=Zelle.Row
       Spalte=Zelle.column
         Print "Zeile: ", Zeile + 1
         Print "Spalte: ", Spalte + 1
end Sub
Was mir fehlt sind Infos, wie ich
a) Zelladressen zusammenbaue - z.B. wie ich mit der gewonnenen Zeile gewünschte Zieladressen bauen kann - um etwa aus M10 => AA10 zu machen - soll das ein String werden oder ein Array oder ...
b) wie ich dem Cursor dann auf diese Zelle setze (in der Hoffnung, dass die Tabelle dann auch entsprechend verschoben wird ...?) - also etwas wie SetCellAddress()?

also sinngemäß sowas:

Code: Alles auswählen

Ziel = "BB" & Str(zeile)
SETCellAddress(Ziel)

Ich hoffe, ich hab's einigermaßen verständlich ausgedrückt?

Ach ja, und gibts vielleicht - wie für AutoIt (hier: https://autoit.de/onlinehilfe/online/html/functions.htm) - auch wo so eine Funktionsübersicht?

Ich sag schon mal Danke und SG
Bronco

Re: Calc - Cursor/Tabelle verschieben

Verfasst: Do 5. Mär 2020, 17:01
von mikele
Hallo,
um in der gleichen zeile in die Spalte AA (d. h. Spalte Nr. 26) zu springen, ergänzt du in deinem Makro folgende Zeilen:

Code: Alles auswählen

ziel=dok.CurrentController.ActiveSheet.getCellByPosition(26,zeile)
        dok.CurrentController.select(ziel)
Hier gibt es mehr Informationen zur Programmierung: http://de.openoffice.info/viewtopic.php ... 7e452c092f

Re: Calc - Cursor/Tabelle verschieben

Verfasst: Do 5. Mär 2020, 18:51
von Bronco
Hallo mikele

Danke Dir, hat geklappt.
Die erste Codezeile kommt mir bekannt vor, über die dürfte ich schon mal drübergelesen haben. Da wäre ich vielleicht irgendwann nochmals darüber gestolpert - obwohl da ja auch das get drinnen ist.
Aber CurrentController.select(ziel) - da musst erst mal drauf kommen. ;)
Gehe ich recht in der Annahme, dass ich hier "set-Funktionen" vergeblich suche?
Deshalb auch meine Frage nach einer übersichtliche Auflistung all dieser Funktionen mit Beschreibung, was sie tun.
Aber vielleicht ist ja was bei Deinem Link dabei, da hab ich ja jetzt Lesestoff für ein paar Wochen - danke auch dafür.

SG, Bronco

Re: gelöst - Calc - Cursor/Tabelle verschieben

Verfasst: Do 5. Mär 2020, 21:11
von mikele
Hallo,
eine Auflistung aller Funktionen wirst du in der Form vergeblich suchen. In der Hilfe findest du so ziemlich alles zu Programmstrukturen etc. Das eigentlich spannende sind die Eigenschaften und Methoden der verschiedenen Objekte. Dazu muss man sich schon ganz schön in die Materie vertiefen.
Gaaaaanz wichtig ist ein Objektinspektionstool (MRI bzw. XRAY)!
Das Standardwerk von Andrew Pitonyak findest du hier: https://www.uni-due.de/~abi070/ooo.html
Eine übersichtliche Sammlung von Funktionsschnipseln (die Bezeichnung wird der großartigen Leistung von Michael Dannenhöfer nicht gerecht) hier: http://www.dannenhoefer.de/faqstarbasic/index.html