Arbeitsblatt umbennen, Inputbox

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

Moderator: Moderatoren

Jörg
*****
Beiträge: 401
Registriert: Mo, 21.10.2013 12:05

Arbeitsblatt umbennen, Inputbox

Beitrag 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
Gruß Jörg

Win 10 Pro AOO 4.1.15
Jörg
*****
Beiträge: 401
Registriert: Mo, 21.10.2013 12:05

Re: Arbeitsblatt umbennen, Inputbox

Beitrag 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
Gruß Jörg

Win 10 Pro AOO 4.1.15
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Arbeitsblatt umbennen, Inputbox

Beitrag 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
Jörg
*****
Beiträge: 401
Registriert: Mo, 21.10.2013 12:05

Re: Arbeitsblatt umbennen, Inputbox

Beitrag 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
Gruß Jörg

Win 10 Pro AOO 4.1.15
MichaelOO
Beiträge: 2
Registriert: Mo, 12.01.2015 09:03

Re: Arbeitsblatt umbennen, Inputbox

Beitrag 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
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Arbeitsblatt umbennen, Inputbox

Beitrag 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?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
MichaelOO
Beiträge: 2
Registriert: Mo, 12.01.2015 09:03

Re: Arbeitsblatt umbennen, Inputbox

Beitrag von MichaelOO »

Ahhhhhhhhhhhhh.... es war also nur ein Syntaxfehler. Und dafür habe ich stundenlang gebastelt!!!!
Vielen, vielen Dank, jetzt klappt's!!!!
Antworten