von Jazzinger » Di, 30.08.2011 07:39
Ich habe ein Makro erstellt, das das aktuelle Tabellenblatt
- kopiert,
- ans Ende stellt,
- einen neuen Namen für das Blatt abfragt und dann
- den Blattschutz einschaltet.
Funktioniert bestens....
Sobald ich jedoch die Datei unter einem neuen Namen abspeichere, funktioniert es nicht mehr. Das Blatt wird nicht mehr kopiert, sondern nur noch umbenannt und dann geschützt.
Im Makro ist der Dateiname als eine Variable (?) gespeichert. Ich schicke das Makro mal mit.
Kann mir jemand den Kniff verraten, wie das Makro unabhängig vom Dateinamen das tut (siehe oben), was es soll?
Danke
Jazzinger
PS Hier ist das Listing des 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: CODE tags gesetzt; Betreff angepasst; Doppelposting im CALC Bereich gelöscht
Ich habe ein Makro erstellt, das das aktuelle Tabellenblatt
- kopiert,
- ans Ende stellt,
- einen neuen Namen für das Blatt abfragt und dann
- den Blattschutz einschaltet.
Funktioniert bestens....
Sobald ich jedoch die Datei unter einem neuen Namen abspeichere, funktioniert es nicht mehr. Das Blatt wird nicht mehr kopiert, sondern nur noch umbenannt und dann geschützt.
Im Makro ist der Dateiname als eine Variable (?) gespeichert. Ich schicke das Makro mal mit.
Kann mir jemand den Kniff verraten, wie das Makro unabhängig vom Dateinamen das tut (siehe oben), was es soll?
Danke
Jazzinger
PS Hier ist das Listing des Makros:
[code]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
[/code]
[color=#800000]Moderation,4[/color]: CODE tags gesetzt; Betreff angepasst; Doppelposting im CALC Bereich gelöscht