Calc: Blatt kopieren, umbenennen

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: Blatt kopieren, umbenennen

Re: Calc: Blatt kopieren, umbenennen

von F3K Total » Fr, 16.09.2011 20:03

Hallo Jazzinger,

das geht bestimmt auch per Makro, allein, Du mußt es schreiben.

Infos über Makros findest Du z.B. hier:
http://download.oracle.com/docs/cd/E195 ... index.html
oder hier
http://www.ooowiki.de/StarBasic
oder auch hier
http://www.starbasicfaq.de

Als Workaround:
1.) Doppelklick auf das Diagramm
2.) rechte Maustaste
3.) Datenbereiche-> hier die neue Tabelle eingeben.

Gruß R

Re: Calc: Blatt kopieren, umbenennen

von Jazzinger » Do, 15.09.2011 11:36

Hallo R,

ich habe Dein Makro installiert und es funktioniert, das hatte ich ja schon kund getan.
Es taucht jetzt allerdings ein weiteres Problem auf:
Das Tabellenblatt enthält ein Diagramm, das seine Daten aus dem Blatt bezieht (natürlich). Die Bezüge dazu werden absolut - also mit einem $ - hergestellt.
Wenn Dein Makro nun das Tabellenblatt kopiert und neu benennt, dann wird dieser Bezug nicht mit umbenannt. Das Diagramm bezieht also seine Daten weiterhin aus dem Ursprungsblatt.
Wie kann das geändert werden?

Danke und Grüße
Jazzinger

Re: Calc: Blatt kopieren, umbenennen

von F3K Total » Mi, 31.08.2011 18:45

Jazzinger hat geschrieben:Die Ironie an der Sache ist, dass die Lösungsansätze aus dem Makro-Forum nicht funktioniert haben.
Hallo, meine Antwort habe ich im "OOo Basic und Java" - Forum gegeben.
Bitte gib Dir etwas mehr Mühe bei der Erstellung Deiner Threads.

Gruß R

Re: Calc: Blatt kopieren, umbenennen

von Jazzinger » Mi, 31.08.2011 17:51

Entschuldige bitte.
Ich hatte wohl an diesem Tag schon zuviel Anfragen gestartet, sodass ich diese letzte nicht mehr wiedergefunden habe.
Am nächsten Tag habe ich sie noch Mal gestellt, dann war sie aber wieder "verschwunden", weil ich im falschen Forum nachgefragt hatte. Deshalb habe ich sie ein drittel Mal losgeschickt. Dabei war meine zweite nur verschoben worden,

Die Ironie an der Sache ist, dass die Lösungsansätze aus dem Makro-Forum nicht funktioniert haben. Deiner hingegen schon. Vielen Dank!

Grüße
Jazzinger

Re: Calc: Blatt kopieren, umbenennen

von F3K Total » Di, 30.08.2011 17:39

Na,
vielleicht schaut der verehrte Ersteller dieses Threads mal in den ebenfalls von ihm erstellten Thread dem nahezu gleichen Thema, einige Zeilen tiefer in diesem Forum:
viewtopic.php?f=18&t=49998#p184393
Da hatte ich nämlich bereits geantwortet.

R

Re: Calc: Blatt kopieren, umbenennen

von Tictac » Di, 30.08.2011 14:00

Ich würde dir empfehlen von der Verwendung des Makrorekorders wann immer möglich abzusehen, da stößt man meißt auf mehr Probleme als man damit löst.

Hier mal ein Codebeispiel das dein Problem weitesgehend lösen dürfte:

Code: Alles auswählen

sub kopieren
	Dim oSheet as Object
	ThisComponent.Sheets().copyByName("Ursprungsname","Neuer Name",ThisComponent.Sheets.Count()) 
	oSheet = ThisComponent.Sheets().getByName("Neuer Name")
	oSheet.Protect("Passwort")
end Sub

Re: Calc: Blatt kopieren, umbenennen

von komma4 » Di, 30.08.2011 07:57

Jazzinger hat geschrieben:Sobald ich jedoch die Datei unter einem neuen Namen abspeichere, funktioniert es nicht mehr.
Der erste Abschnitt (mit args1) funktioniert nicht wie gewünscht.
Das hat mit dem Ändern des Namens nichts zu tun...

Calc: Blatt kopieren, umbenennen

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

Nach oben