Helfen Sie mit, das LibreOffice Forum zu erhalten.
Unsere Spendenkampagne für 2026 startet jetzt!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen Dank!

❤️ DANKE >> << DANKE ❤️

Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

Index eines Tabellenblatt-Objekts ermitteln

Alles zur Programmierung im LibreOffice.
Antworten
Cepheus
Beiträge: 11
Registriert: Mo 12. Mai 2025, 21:51

Index eines Tabellenblatt-Objekts ermitteln

Beitrag von Cepheus » Do 22. Jan 2026, 19:29

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

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2656
Registriert: Fr 10. Dez 2010, 10:01

Re: Index eines Tabellenblatt-Objekts ermitteln

Beitrag von karolus » Do 22. Jan 2026, 22:50

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
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

Cepheus
Beiträge: 11
Registriert: Mo 12. Mai 2025, 21:51

Re: Index eines Tabellenblatt-Objekts ermitteln

Beitrag von Cepheus » Fr 23. Jan 2026, 11:29

Hallo, karolus,
danke für deinen hilfreichen Hinweis!
Gruß,
Cepheus


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten