[geloest] Range Namen auslesen

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

Moderator: Moderatoren

Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

[geloest] Range Namen auslesen

Beitrag von Wolf »

Hallo an Alle,

Ich habe folgendes Problem.
Per <Einfügen> <Namen> kann ich für einen Zellbereich oder eine einzelne Zelle einen Namen meiner Wahl vergeben.
Ich möchte nun in einem Makro
1. die Anzahl der von mir definierten Namen zählen
2. die Namen dann per Index auslesen und in einer Listbox anzeigen lassen.

Das funktioniert mit den Tabellen sehr gut nur die Range Namen weiß ich nicht wie ich das hin bekommen.
Der Navigator zeigt mir ja unter "Range Namen" alle Ranges an. Nur wie komme ich da per Makro ran?

Vielen Dank für die Hilfe
Zuletzt geändert von Wolf am Fr, 05.04.2013 11:48, insgesamt 1-mal geändert.
Karolus
********
Beiträge: 7443
Registriert: Mo, 02.01.2006 19:48

Re: Range Namen auslesen

Beitrag von Karolus »

Hallo

Eine Liste der definierten Namen bekommst du per

Code: Alles auswählen

doc = ThisComponent
nRanges = doc.NamedRanges
nNames = nRanges.ElementNames
Deine Listbox sollte es tun per

Code: Alles auswählen

box.addItems( nNames, 0) 
0 fügt die Liste am Anfang der bestehenden Einträge ein

Falls du noch mit den zugeordneten Zellbereichen arbeiten möchtest:

Code: Alles auswählen

cellrange = nRanges.getByName( selected_name ).getReferredCells()
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: Range Namen auslesen

Beitrag von Wolf »

Karolus hat geschrieben:

Code: Alles auswählen

doc = ThisComponent
nRanges = doc.NamedRanges
nNames = nRanges.ElementNames
Karolus
Hallo Karolus,

Das war genau das was ich gesucht habe.
Danke. Klappt wunderbar.

Schoenes Wochenende
Antworten