Zelle / Bereich - Namen festlegen

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

Moderator: Moderatoren

HeinMei
Beiträge: 1
Registriert: Fr, 13.10.2006 09:08
Wohnort: Saarbrücken

Zelle / Bereich - Namen festlegen

Beitrag von HeinMei »

Hallo Leute,

wie kann ich (in CALC) über ein Makro einer Zelle oder einem Bereich einen Namen zuweisen

(PerHand geht das über <Einfügen-Namen-festlegen>)

auf den ich später durch .getCellRangeByName("NAME")
wieder zugreifen kann

vielen Dank im Voraus
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey HeinMei,
wie kann ich (in CALC) über ein Makro einer Zelle oder einem Bereich einen Namen zuweisen
Benannte Bereiche werden im Dokument als "namedRanges" gespeichert. So kannst du sie anlegen:

Code: Alles auswählen

sub Bereich_erzeugen
  Dim oBenannterBereich as object
  Dim aPos as ne com.sun.star.table.CellAddress
  Dim sBereich as string
  Dim sName as string
  sName = "MeinBereich"
  sBereich = "$Tabelle1.$A$1:$C$3"
  oBenannterBereich = thisComponent.NamedRanges
  oBenannerBereich.addNewByName(sName, sBereich, aPos, 0)
end sub
Das legt den benannten Bereich "MeinBereich" an und zwar in Tabelle1 von A1 bis C3.
auf den ich später durch .getCellRangeByName("NAME")
wieder zugreifen kann
Das dürfte nicht funktionieren. Das sind zwei völig andere "Schuhe". DAs getCellRangeByName() meint den Zellnamen als Buchstaben-Zahlenkombination (also soetwas wie "A2" oder auch "A1:C3") in Unerscheidung zum Index.
Ist allerdings auch in Basic gar nicht nötig, da kannst du doch gleich die Zelladressen benutzen :-)

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
ykcim
*****
Beiträge: 324
Registriert: Di, 29.07.2003 15:22
Wohnort: Neu-Isenburg
Kontaktdaten:

Beitrag von ykcim »

Hallo Thomas,
Das dürfte nicht funktionieren. Das sind zwei völig andere "Schuhe". DAs getCellRangeByName() meint den Zellnamen als Buchstaben-Zahlenkombination (also soetwas wie "A2" oder auch "A1:C3") in Unerscheidung zum Index.
Das funktioniert! Aus der Referenz von getCellRangebyname:
The sub-range is specified by its name. The format of the range name is dependent of the context of the table. In spreadsheets valid names may be "A1:C5" or "$B$2" or even defined names for cell ranges such as "MySpecialCell".
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
Antworten