Seite 1 von 1

Zelle / Bereich - Namen festlegen

Verfasst: Fr, 13.10.2006 09:32
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

Verfasst: Fr, 13.10.2006 17:15
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

Verfasst: Sa, 14.10.2006 12:11
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