Seite 1 von 1

Index eines Tabellenblatt-Objekts ermitteln

Verfasst: Do 22. Jan 2026, 19:29
von Cepheus
Ich habe ein Tabellenblatt-Objekt über seinen Namen definiert:
Dim oDoc
Dim oSheets
Dim oSheet
oDoc = ThisComponent
oSheets = oDoc.Sheets
oSheet = oSheets.getByName("Buchungen")

Wie kann ich aus dem oSheet dessen Index extrahieren? Dieser wird z.B. bei Bildung einer CellRangeAddress eines Zellbereichs benötigt.

Das Problem ist, dass sich die Lage des Tabellenblatts (also sein Indexwert) bei Programmlauf ändert, wenn Tabellenblätter eingefügt oder gelöscht werden. Daher wäre der Abruf des Indizes so wichtig.
Mit Dank für jeden Hinweis, Gruß,
Cepheus

Re: Index eines Tabellenblatt-Objekts ermitteln

Verfasst: Do 22. Jan 2026, 22:50
von karolus
Hallo

Beispiel in python:

Code: Alles auswählen

doc = XSCRIPTCONTEXT.getDocument()
sh_index = doc.Sheets.ElementNames.index("Buchungen")
falls es eine »index« funktion in Basic gibt?! … dann wäre es wohl:

Code: Alles auswählen

sh_index = index(oSheets.ElementNames , "Buchungen" )
apropos: Dein »oSheet« ist ja auch nur ein Zellbereich, und hat deshalb ebenfalls eine »RangeAddress« ⇒

Code: Alles auswählen

sh_index = oSheet.RangeAddress.Sheet

Re: Index eines Tabellenblatt-Objekts ermitteln

Verfasst: Fr 23. Jan 2026, 11:29
von Cepheus
Hallo, karolus,
danke für deinen hilfreichen Hinweis!
Gruß,
Cepheus