Leider weiß ich nun noch immer nicht, welche Zeichen von OpenOffice zugelassen werden.
Ich verstehe nicht wozu Du das im Konkreten brauchst, denn Michaels Lösung erfüllt vollständig Deine Anforderungen - oder wolltest Du einzelne Zeichen austauschen, nur davon war bisher nicht die Rede.
Also was stört Dich an dieser Lösung:
Code: Alles auswählen
sub tablename
odoc=thiscomponent
osheet=odoc.sheets(0)
weiter = false
while weiter=false
orgname=osheet.name
newname=inputbox("Neuer Name")
osheet.name=newname
if osheet.name<>orgname then
weiter=true
else
msgbox "Ungültiger Name"
end if
wend
end sub
denn sie löst Dein Problem,
und ist schneller als die Lösung von Thomas.
Außerdem ist sie gleichzeitig geeignet herauszufinden welche Zeichen zulässig sind und welche nicht, automatisch meinethalben auch so:
Code: Alles auswählen
sub tablename
odoc=thiscomponent
osheet=odoc.sheets(0)
for i = 0 to 255
orgname=osheet.name
osheet.name=CHR(i)
if osheet.name<>orgname then
a = a & CHR(i) & "(" & i & ")" & " | "
end if
Next
MsgBox (a,0, "gültige Zeichen - Zeichen(ASCII-Wert)")
end sub
Eigentlich gehen noch sehr viel mehr, weil wohl auch Unicodezeichen zulässig sind, die kriegst Du bloß praktischerseits und wegen der Begrenzung auf 64K nicht in die Msgbox, müßtest sie also bei Interess in ein Dokument ausgeben.
Manchmal steht die Antwort doch tatsächlich in der Online-Hilfe.
Nur Buchstaben und Zahlen. Das Leerzeichen geht aber auch noch.
Vielleicht hat die Online-Hilfe hier insgesamt recht, denn ich habe Oben Behauptetes nicht darauf geprüft wie die Wechselwirkungen evtl. sind. Eine Benennung ist aber auch mit UniCode möglich, i.d.S. werden sogar bestimmte nichtdruckbare Zeichen akzeptiert (natürlich als Quadrat dargestellt) - habe ich aber auch gerade erst festgestellt als ich obrigen Code mittels:
laufen lies.
Gruß
Stephan
[quote]Leider weiß ich nun noch immer nicht, welche Zeichen von OpenOffice zugelassen werden.[/quote]
Ich verstehe nicht wozu Du das im Konkreten brauchst, denn Michaels Lösung erfüllt vollständig Deine Anforderungen - oder wolltest Du einzelne Zeichen austauschen, nur davon war bisher nicht die Rede.
Also was stört Dich an dieser Lösung:
[code]sub tablename
odoc=thiscomponent
osheet=odoc.sheets(0)
weiter = false
while weiter=false
orgname=osheet.name
newname=inputbox("Neuer Name")
osheet.name=newname
if osheet.name<>orgname then
weiter=true
else
msgbox "Ungültiger Name"
end if
wend
end sub [/code]
denn sie löst Dein Problem, [u]und [/u]ist schneller als die Lösung von Thomas.
Außerdem ist sie gleichzeitig geeignet herauszufinden welche Zeichen zulässig sind und welche nicht, automatisch meinethalben auch so:
[code]sub tablename
odoc=thiscomponent
osheet=odoc.sheets(0)
for i = 0 to 255
orgname=osheet.name
osheet.name=CHR(i)
if osheet.name<>orgname then
a = a & CHR(i) & "(" & i & ")" & " | "
end if
Next
MsgBox (a,0, "gültige Zeichen - Zeichen(ASCII-Wert)")
end sub[/code]
Eigentlich gehen noch sehr viel mehr, weil wohl auch Unicodezeichen zulässig sind, die kriegst Du bloß praktischerseits und wegen der Begrenzung auf 64K nicht in die Msgbox, müßtest sie also bei Interess in ein Dokument ausgeben.
[quote]Manchmal steht die Antwort doch tatsächlich in der Online-Hilfe.
Nur Buchstaben und Zahlen. Das Leerzeichen geht aber auch noch. [/quote]
Vielleicht hat die Online-Hilfe hier insgesamt recht, denn ich habe Oben Behauptetes nicht darauf geprüft wie die Wechselwirkungen evtl. sind. Eine Benennung ist aber auch mit UniCode möglich, i.d.S. werden sogar bestimmte nichtdruckbare Zeichen akzeptiert (natürlich als Quadrat dargestellt) - habe ich aber auch gerade erst festgestellt als ich obrigen Code mittels:
[code]for i = 0 to 65535[/code]
laufen lies.
Gruß
Stephan