Calc: Tabelle kopieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Calc: Tabelle kopieren

Re: Calc: Tabelle kopieren

von F3K Total » So, 28.08.2011 22:26

Hallo,
habe ein "nicht aufgenommenes" Makro dazu geschrieben, ist auch kürzer:

Code: Alles auswählen

sub copy_sheet_and_protect

odoc=ThisComponent
osheets=odoc.sheets
ocount=osheets.Count
oActiveSheet=odoc.currentController.ActiveSheet
oNewSheetName= inputbox ("neuer Name: ","aktuelle Tabelle kopieren", "Tabelle")
oNewPassword= inputbox ("Passwort: ","Tabellenschutz", "Tabelle")
osheets.copyByName( oActiveSheet.Name, oNewSheetName, ocount )
oNewSheet=osheets(ocount)
oNewSheet.protect(oNewPassword)
msgbox ("Tabelle '"+oNewSheetName+"' angelegt und geschützt"

end sub
Viel Erfolg damit.
Gruß R

Calc: Tabelle kopieren

von Jazzinger » So, 28.08.2011 17:55

Ich habe ein Makro erstellt,
- welches das aktive Tabellenblatt kopiert,
- ans Ende stellt,
- einen neuen Namen abfragt und
- den Tabellenschutz einschaltet.
Das funktioniert bestens.

Allerdings enthält das Makro den Namen der Datei. Das hat zur Folge, dass ich die Datei nicht einfach unter einem neuen Namen abspeichern kann. Ich habe vor die entsprechenden Zeilen schon mal ein "rem" geschrieben, hat leider nichts gebracht.

Wie muss das Makro aussehen, dass es unabhängig vom Dateinamen seine Arbeit macht?

Danke
Jazzinger

PS. Das ist das Listing des vorhanden Makros:

Code: Alles auswählen

sub KollegInNeu
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "DocName"
args1(0).Value = "PersonalDaten neu"
args1(1).Name = "Index"
args1(1).Value = 32767
args1(2).Name = "Copy"
args1(2).Value = true

dispatcher.executeDispatch(document, ".uno:Move", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"

dispatcher.executeDispatch(document, ".uno:RenameTable", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Protect"
args3(0).Value = true

dispatcher.executeDispatch(document, ".uno:Protect", "", 0, args3())


end sub


Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst; CODE tags gesetzt

Nach oben