Hello again,
mit Pitonyaks code [Listing 423] kann ich NamedRanges setzen, die auch nach Ablauf des Macros 'dableiben':
Sub AddNamedRange()
Dim oRange ' The created range.
Dim oRanges ' All named ranges.
Dim sName$ ' Name of the named range to create.
Dim oCell ' Cell object.
Dim s$
sName$ = "MyNRange"
oRanges = ThisComponent.NamedRanges
If NOT oRanges.hasByName(sName$) Then
Dim oCellAddress As new com.sun.star.table.CellAddress
oCellAddress.Sheet = 0 'The first sheet.
oCellAddress.Column = 1 'Column B.
oCellAddress.Row = 2 'Row 3.
s$ = "$Sheet1.$B$3:$D$6"
oRanges.addNewByName(sName$, s$, oCellAddress, 0)
End If
oRange = ThisComponent.NamedRanges.getByName(sName$)
oCell = oRange.getReferredCells().getCellByPosition(0,0)
Print oCell.getString()
End Sub
Aber, was mach ich, wenn ein NamedRange solchen Namens schon existiert und womöglich falsch (weil alt) dimensioniert ist? Wie kann ich den löschen oder ändern?
Es gelingt mir nicht einmal einen existierenden NamedRange im Namenfeld des Sheets selber löschen, d.h., ich kann auch nicht mit Macro-Recording mal eine Lösung erzeugen.
Herzlichen Dank schon mal,
Gooly