KEINE WERBEANZEIGEN FÜR REGISTRIERTE USER



❤ Das LibreOffice Forum ❤
❤ braucht JETZT Ihre Hilfe! ❤



  🌹 DANKE FÜR JEDE SPENDE! 🌹




Bereichsnamen ändern Global -> Sheet

Alles zur Programmierung im LibreOffice.
Antworten
StefKe
Beiträge: 15
Registriert: Sa 5. Nov 2022, 18:47

Bereichsnamen ändern Global -> Sheet

Beitrag von StefKe » Sa 19. Nov 2022, 09:56

Hallo in die Runde, der Code legt Bereichsnamen neu an, bzw. ändert den Bereich falls die Namen schon vorhanden sind.

Code: Alles auswählen

Sub BereichsNamen()
	Dim Range, Ranges, Sheet, Cell
	Dim sBer_Name$, sBer_Range$
	Dim i	'Zählvariable'
	Dim arrRang
	Dim lngCellEnd& : lngCellEnd = 1000
	arrRang = Array("Datum", "$Import.$B$1:$B$","Aussen", "$Import.$C$1:$C$", "Oben", "$Import.$D$1:$D$", "Unten", "$Import.$E$1:$E$", "Luefter", "$Import.$F$1:$F$")
	
	for i =  2 to 10 Step 2
		sBer_Name = arrRang(i - 2)
		sBer_Range = arrRang(i - 1) & lngCellEnd
		Ranges = ThisComponent.NamedRanges
		If Not Ranges.hasByName(sBer_Name) Then
			Dim CellAddress As New com.sun.star.table.CellAddress
			CellAddress.Sheet = 0     'Das erste Tabellenblatt
			CellAddress.Column = i /2 + 1    'Spalte C
			CellAddress.Row = 1       'Zeile 2
			Ranges.addNewByName(sBer_Name, sBer_Range, CellAddress, 0)
		Else
			Sheet = thisComponent.Sheets(0)
			'bNamedRanges = thisComponent.NamedRanges
			Range = Ranges.getbyName(sBer_Name)
			Range.Content = sBer_Range
		end if
	next i
End Sub
Der Bereich gilt für das gesamte Dokument(global).
Was muss geändert werden dass er nur für das Sheet "Import" gilt?

Danke
Stefan

Benutzeravatar
karolus
Beiträge: 1786
Registriert: Fr 10. Dez 2010, 10:01

Re: Bereichsnamen ändern Global -> Sheet

Beitrag von karolus » Sa 19. Nov 2022, 10:37

Hallo

Du musst den Bereich aus »thisComponent.NamedRanges« rausnehmen und in »thisComponent.Sheets.getByName("Import").NamedRanges zufügen.
LO7.0.4 debian-bullseye auf Raspberry4b 8GB (ARMHF)

StefKe
Beiträge: 15
Registriert: Sa 5. Nov 2022, 18:47

Re: Bereichsnamen ändern Global -> Sheet

Beitrag von StefKe » Sa 19. Nov 2022, 12:14

Danke, läuft :-), ist ja auch logisch :) , nur warum kommt man nicht vorher drauf?

Ich versuche ein Diagramm über die Vergabe von Namen dynamisch zu gestalten. Das Diagramm nimmt die Namensbereiche auf Sheet-Ebene auch an. Aber nach speichern, schließen und wieder öffnen sind die Namen wieder in Zellbereiche umgewandelt. Gibt es dafür einen Lösung?

Vor dem Speichern:
Bild

und nach speichern, schließen und wieder öffnen:
Bild

oder ist es genau das Problem, welches in Foren als "Bug" von LO beschrieben wird?

Danke
Stefan

Benutzeravatar
karolus
Beiträge: 1786
Registriert: Fr 10. Dez 2010, 10:01

Re: Bereichsnamen ändern Global -> Sheet

Beitrag von karolus » Sa 19. Nov 2022, 12:33

Hallo

Das hat aber erstmal nichts mit dem »anlegen von Bereichsnamen« zu tun, … du solltest das als neue Frage stellen, und dabei freundlicherweise den Link zum angesprochenen Bug mitteilen.
LO7.0.4 debian-bullseye auf Raspberry4b 8GB (ARMHF)

Antworten