Seite 1 von 1

Arbeitsblatt umbennen, Inputbox

Verfasst: Di, 11.02.2014 19:30
von Jörg
Hallo,
in den nachstehenden Code von Dannehoefer, möchte ich gern eine Inputbox einbauen und über diese den neuen Tabellennamen eingeben.

Code: Alles auswählen

ocalc=thiscomponent
     mySheet=ocalc.sheets(3)
     mySheet.name="Neuer Name"

Hab noch nicht das Richtige im
Forum gefunden.
Gruß
Jörg

Re: Arbeitsblatt umbennen, Inputbox

Verfasst: Di, 11.02.2014 19:40
von Jörg
Hab noch diesen Code gefunden.
Das Kopieren brauch ich nicht.

Code: Alles auswählen

    Sub Main
     Dim iZaehler as integer
       Dim oDatum as Date
       Dim sDatum as String
       sDatum = InputBox("Bitte Namen eingeben!","Tabellenumbenennung")
       If IsDate(sDatum) Then
          oDatum = CDate(sDatum)
       Else
          Exit Sub
       Endif
       For iZaehler = 0 to 30
         sDatum=cstr(Day(oDatum))+" "+cStr(Month(oDatum))+" "+cStr(Year(oDatum))
          ThisComponent.Sheets(iZaehler).Name=sDatum
          oDatum = oDatum+1
        Next iZaehler
    End Sub

Re: Arbeitsblatt umbennen, Inputbox

Verfasst: Di, 11.02.2014 20:22
von F3K Total
So?

Code: Alles auswählen

sub rename_current_sheet
     osheet = thiscomponent.currentcontroller.activeSheet
     sNewName = inputbox("Bitte neuen Blattnamen eingeben","Blatt umbenennen")
     osheet.name = sNewName
end sub
Gruß R

Re: Arbeitsblatt umbennen, Inputbox

Verfasst: Di, 11.02.2014 23:49
von Jörg
Hallo R,
vielen Dank. Klappt. Habe deinen Code in ein vorhandenes Makro eingefügt.
So wie ich´s haben wollte. :D

Gruß
Jörg

Re: Arbeitsblatt umbennen, Inputbox

Verfasst: Mo, 12.01.2015 09:05
von MichaelOO
Jetzt nochmal nach erfolgreicher Registrierung...

Hallo zusammen,
ich habe ein ähnliches Problem. Und zwar möchte ich das Blatt nicht per Inputbox umbenennen sondern den Namen aus einer Zelle auf einem anderen Blatt auslesen. Ich habe lange rumgesucht und folgendes gefunden:

thiscomponent.sheets(1).name=thiscomponent.sheets(0).getCellRangeByName(a1)

Da sollte doch eigentlich die Tabelle 2 (thiscomponent.sheets(1)) in den Text umbenannt werden, der in Tabelle 1 (thiscomponent.sheets(0)) in Zelle A1 (getCellRangeByName(a1)) steht.

Open Office meldet aber:

"BASIC-Laufzeitfehler. Es ist eine Ausnahme aufgetreten. Type: com.sun.star.uno.RuntimeExceptionMessage."

Ich habe viel rumprobiert z.B. im Vorfeld eine String-Variable als "Zwischenergebnis" definiert u.ä. aber es läuft immer auf dieses Problem hinaus. Hat jemand eine Idee?

Vielen Dank und schöne Grüße
Michael
MichaelOO

Re: Arbeitsblatt umbennen, Inputbox

Verfasst: Mo, 12.01.2015 09:46
von clag
Hallo MichaelOO,

leicht modifiziert tut die Anweisung auch das was du möchtest

Code: Alles auswählen

thisComponent.sheets(1).name = thisComponent.sheets(0).getCellRangeByName("A1").string
hilft dir das?

Re: Arbeitsblatt umbennen, Inputbox

Verfasst: Mo, 12.01.2015 22:16
von MichaelOO
Ahhhhhhhhhhhhh.... es war also nur ein Syntaxfehler. Und dafür habe ich stundenlang gebastelt!!!!
Vielen, vielen Dank, jetzt klappt's!!!!