Neue Dokumentvorlage auf altes Dokument anwenden?

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Udo
**
Beiträge: 28
Registriert: Do, 03.11.2005 09:56

Neue Dokumentvorlage auf altes Dokument anwenden?

Beitrag von Udo »

Ich habe einige Dokumente, die auf leicht unterschiedlichen Dokumentvorlagen basieren und möchte sie auf eine gemeinsame Dokumentvorlage umstellen.
Ich benutze Open Office 2.2.0 auf Debian Linux.

1. Wie kann ich erkennen, welche Dokumentvorlage ein Dokument benutzt?

2. Wie kann ich ein Dokument von seiner bisherigen auf eine neue Dokumentvorlage umstellen?

Udo
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Re: Neue Dokumentvorlage auf altes Dokument anwenden?

Beitrag von Eia »

Udo hat geschrieben:Wie kann ich erkennen, welche Dokumentvorlage ein Dokument benutzt?
  • Unter Datei/Eigenschaften/Allgemein ist die Vorlage eingetragen
  • Mit dem Feldbefehl Dokument/Dokumentvorlage kann man Namen und Pfad der Dokumentvorlage im Dokument anzeigen lassen
Wie kann ich ein Dokument von seiner bisherigen auf eine neue Dokumentvorlage umstellen?
Nicht direkt. Man kann die Dokumentvorlage nicht "austauschen". Du musst ein neues Dokument aufgrund der neuen Vorlage erstellen und den Inhalt des alten Dokumentes hereinkopieren.

mfG
Christiana
***
Beiträge: 62
Registriert: Di, 20.03.2007 11:41

Re: Neue Dokumentvorlage auf altes Dokument anwenden?

Beitrag von Christiana »

Eia hat geschrieben: Man kann die Dokumentvorlage nicht "austauschen". Du musst ein neues Dokument aufgrund der neuen Vorlage erstellen und den Inhalt des alten Dokumentes hereinkopieren.
Bisher habe ich es auch immer so gemacht. Wenn viele Dokumente auf einer neuen Vorlage basieren sollen, ist das natürlich sehr aufwändig.

Im ooowiki habe ich hier folgendes gefunden:
Es ist in der Benutzeroberfläche nicht möglich, bei einem Dokument nachträglich die Information zu ändern, welche Dokumentvorlage ihm zu Grunde liegt. Für solche Änderungen ist ein Makro oder ein direktes Editieren im Quelltext des Dokumentes erforderlich.
Leider stehen dazu keine weiteren Angaben. Gibt es dazu bereits ein Mustermakro? Oder weiß jemand wie das direkte Editieren des Quelltextes funktioniert?

mfg
Christiana
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Ich habe noch diesen NG-Beitrag gefunden.
Hab's aber nicht selbst ausprobiert.
mfG
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Neue Dokumentvorlage auf altes Dokument anwenden?

Beitrag von komma4 »

Christiana hat geschrieben:Gibt es dazu bereits ein Mustermakro? Oder weiß jemand wie das direkte Editieren des Quelltextes funktioniert?
direktes Editieren:
(native) OOo-Dateien (mit Endungen *.sdw oder *.odt) sind ZIP-gepackte Dateien: Deine Datei in einem Arbeitsverzeichnis auspacken;
in der meta.xml nachschauen: die verwendete Vorlage wird hier angegeben, bspw.:

Code: Alles auswählen

xlink:role="template" xlink:href="/pfad/zur/vorlage/dok-vorlage.stw"
dahinter der (unter Datei>Eigenschaften) angezeigte Name als "title"
Das habe ich nicht getestet!

Ändern per Makro:
den folgenden Code anpassen und auf die geöffnete Datei (im Vordergrund) anwenden.

Code: Alles auswählen

myDok = ThisComponent
myDok.DocumentInfo.Template = "BriefNeu"
myDok.DocumentInfo.TemplateFilename = ConvertToURL("u:\Eigene Dateien\Brief2007privat.ott")
Hilft das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Udo
**
Beiträge: 28
Registriert: Do, 03.11.2005 09:56

Beitrag von Udo »

Bei manchen Dateien wurde unter Datei/Eigenschaften/Allgemein kein Vorlagenname angezeigt. Ich vermute, dass aus diesen Dateien nachträglich erst die Dokumentvorlage erzeugt wurde.

Der Weg über die Änderung des Vorlagennamens bzw. den Eintrag des meta template Eintrags klappte. :)

Danke für die Tipps.

Diese Hantierung ist allerdings für Normalanwender eines Textsystems eine Zumutung. :(
Hoffentlich können die Entwickler das etwas einfacher gestalten.

Udo
Christiana
***
Beiträge: 62
Registriert: Di, 20.03.2007 11:41

Beitrag von Christiana »

Hallo,

erst einmal vielen Dank für Eure Hilfe.

Leider bin ich noch nicht am Ziel meiner Wünsche. Auf beiden Wegen erreiche ich nur die Änderung des Vorlagennamens. Offensichtlich ist aber immer noch die alte Vorlagendatei hinterlegt, d.h. inhaltlich werden keine Änderungen sichtbar.

Was mache ich nur falsch?

mfg
Christiana
manese
*****
Beiträge: 482
Registriert: Mo, 03.10.2005 17:20
Wohnort: Borgholzhausen
Kontaktdaten:

Beitrag von manese »

Hallo Forum,
ich bin nicht ganz einverstanden mit den eher pessimistischen Aussagen,
die ich bisher zu diesem Thema gefunden habe.

Wenn man nämlich den Formatvorlagen-Katalog (Stylisten) ganz weit öffnet,
findet man ganz rechts ein Ikon
mit einem grünen Kreuz.
Wenn man darauf drückt,
– Auswahl: Vorlagen laden … –
kann man sich jede Dokumentvorlage für sein 'altes' Dokument holen,
die man sich wünscht.


Es ist sogar möglich,
sich die Einstellungen aus einem einfachen Dokument zu holen.
Nicht vergessen,
einen Haken bei „Überschreiben“ zu setzen!
Alles andere läuft dann automatisch.

Ich verwende die Funktion so oft,
dass ich mir das 'versteckte' Ikon in eine andere Symbolleiste kopiert habe,
damit ich immer Zugriff darauf habe,
auch wenn der Formatvorlagen-Katalog (Stylist) mal nicht offen ist.

Alles Gute
matthias
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

kann man sich jede Dokumentvorlage für sein 'altes' Dokument holen,
die man sich wünscht.


Nein, das kann man eben nicht. Diese Funktion lädt nur Vorlagen aus Dokumentvorlagen (Absatz-, Zeichen,-, etc.Vorlagen) tauscht aber nicht die Dokumentvorlage aus auf der das Dokument basiert.

Dieser Tausch ist aber wichtig wenn Hirarchien in Dokumentvorlagen genutzt werden sollen, weshalb das manuelle Editieren der XML-Dateien oder der Einsatz eines Makros unverzichtbar sind, zum Austausch der Dokumentvorlage auf welcher ein Dokument basiert.
ich bin nicht ganz einverstanden mit den eher pessimistischen Aussagen
Naja, pessimistisch klinge ich hoffentlich nicht, ich sehe auch in dem Ganzen kein größeres Problem, aber allein mit Bordmitteln geht es eben nicht.
Offensichtlich ist aber immer noch die alte Vorlagendatei hinterlegt, d.h. inhaltlich werden keine Änderungen sichtbar.

Was mache ich nur falsch?
Meiner Erinnerung gibt es in den XML-Dateien einen Zeitstempel, welcher beim Öffnen der Datei mit der letzten Änderung der zugrunde liegenden Vorlagendatei verglichen wird.
Bin jetzt aber nicht gänzlich sicher, wenn Dein Problem anhält melde Dich nochml, dann muß ich das mal prüfen.


Gruß
Stephan
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Christiana
***
Beiträge: 62
Registriert: Di, 20.03.2007 11:41

Beitrag von Christiana »

Hallo Eia und Stephan,

vielen Dank für Eure investierte Zeit und Hilfe!

Meine Englischkenntnisse lassen leider zu wünschen übrig. Habe ich es richtig verstanden. Bereits in Version 2.3 soll dieses Anliegen realisiert sein? Das wäre ja toll!

Mein Problem besteht übrigens immer noch. Ich habe es mehrmals und mit verschiedenen Dokumentvorlagen probiert! Auch das Makro des von Eia genannten NG-Beitrags habe ich getestet. Ich erhalte natürlich die gleiche Fehlermeldung wie Claudia und habe keine Ahnung woran es liegt ...

Das Erstellen eines neuen Dokumentes aufgrund der neuen Vorlage und das anschließende Hereinkopieren des Inhaltes des alten Dokumentes scheint momentan doch der sicherste, beste und schnellste Weg zu sein.

mfg
Christiana
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Christiana hat geschrieben:H Bereits in Version 2.3 soll dieses Anliegen realisiert sein? Das wäre ja toll!
Na ja, das schlägt jemand vor. Terminiert ist es aber noch nicht offiziell, es steht da bloß 2.*
Mein Problem besteht übrigens immer noch. Ich habe es mehrmals und mit verschiedenen Dokumentvorlagen probiert! Auch das Makro des von Eia genannten NG-Beitrags habe ich getestet. Ich erhalte natürlich die gleiche Fehlermeldung wie Claudia und habe keine Ahnung woran es liegt
Der Beitrag ist immer noch aktiv, vielleicht kommt er ja noch zu einem guten Ende. Ich selbst kann leider zum Thema Makro gar nichts sagen.

mfG
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Mein Problem besteht übrigens immer noch. Ich habe es mehrmals und mit verschiedenen Dokumentvorlagen probiert!
Was hast Du probiert?

Ich habe es jetzt mal kurz getestet und es verhält sich bei mir wie vermutet:

speichere eine Datei als Vorlage "Vorlage1" um 12:01 Uhr
Speichere eine weitere Datei als Vorlage "Vorlage2" um 12:02 Uhr

Erstelle eine neue Datei basierend auf Dokumentvorlage "Vorlage1" und speichere diese um 12:03 Uhr.

Verwende das Makro um dem gerade gespeicherten Dokument die andere Dokumentvorlage zuzuweisen, also in etwa:

Code: Alles auswählen

myDok = ThisComponent 
myDok.DocumentInfo.Template = "Vorlage2" 
myDok.DocumentInfo.TemplateFilename = ConvertToURL("u:\Eigene Dateien\Vorlage2.ott")
Speichere nach Durchlauf des Makros das Dokument ("MeinDOK" 12:04 Uhr) und schließe es. Öffne das Dokument erneut.

Reaktion:
keine - da das Dokument den Zeitstempel 12:04 trägt, die nun gültige Dokumentvorlage aber 12:02. Da die Vorlage 2 Minuten vor dem Dokument erstellt wurde, kann OOo nur annehmen das sie zum Erstellungszeitpunkt aktuell war, es besteht also keine Notwendigkeit Veränderungen einzulesen.

Schließe das Dokument wieder. Öffne "Vorlage2" zum Bearbeiten und nimm eine beliebige Veränderung vor, einzig aus dem Grund das die Speichern-Schaltfläche aktiv wird und Du Veränderungen speichern kannst. Speichere die Änderungen, hierbei wird auch die 'Dateizeit' auf beispielsweise 12:05 geändert. Schliesse die Vorlage.

Öffne nochmals die Datei "MeinDOK" und Du erhältst die Abfrage ob die Vorlagen aktualisiert werden sollen, bejahe diese und es wird aktualisiert.


So bei mir der Stand der Dinge, OOo 2.0.4 (Windows)


Das Erstellen eines neuen Dokumentes aufgrund der neuen Vorlage und das anschließende Hereinkopieren des Inhaltes des alten Dokumentes scheint momentan doch der sicherste, beste und schnellste Weg zu sein.


Du kannst genausogut (nachdem Du die Dokumentvorlage getauscht hast) das tun was Matthias vorschlägt.




Gruß
Stephan
Eia
********
Beiträge: 2614
Registriert: Sa, 23.12.2006 07:40

Beitrag von Eia »

Auf der Mailingliste wurde mittlerweile eine Version veröffentlicht, die bei mir (mit angepasstem Vorlagen-Namen und Vorlagen-Pfad) funktioniert hat:

Code: Alles auswählen

SUB  VorlageNeu
        dim args(0) as new com.sun.star.beans.PropertyValue
        sTemplateName = "NameDerVorlage"
        sURL = "file:///HomeVerzeichnis/.openoffice.org2/user/template/NameDerVorlage.ott"
        args(0).Name = "OverwriteStyles"
        args(0).Value = True
        ThisComponent.stylefamilies.loadStylesFromURL( sURL, args() )
        ThisComponent.DocumentInfo.Template = sTemplateName
        ThisComponent.DocumentInfo.TemplateFileName = sURL
End SUB 
mfG
Christiana
***
Beiträge: 62
Registriert: Di, 20.03.2007 11:41

Beitrag von Christiana »

Eia hat geschrieben:Auf der Mailingliste wurde mittlerweile eine Version veröffentlicht, die bei mir (mit angepasstem Vorlagen-Namen und Vorlagen-Pfad) funktioniert hat
Das Makro läuft auch bei mir fehlerfrei durch. Das Ergebnis ist allerdings genauso wie bei dem Makro von Winfried. Unter Datei - Eigenschaften sehe ich den neuen Vorlagennamen, nur in dem Dokument hat sich inhaltlich nichts verändert.

Die Sache mit dem Zeitstempel finde ich total logisch. Auf so was wär ich selber nie gekommen.
Stephan hat geschrieben:Öffne nochmals die Datei "MeinDOK" und Du erhältst die Abfrage ob die Vorlagen aktualisiert werden sollen, bejahe diese und es wird aktualisiert.
Ich erhalte nun auch die Abfrage, ob die Vorlagen aktualisiert werden sollen, doch nach dem Bejahen basiert mein Dokument inhaltlich immer noch auf der alten Vorlage ...

Übrigens, ich arbeite mit OOo 2.1 (Win XP).

Vielleicht liegt es ja auch an meinen Vorlagen. Ich habe sie so gestaltet wie mir Eia hier schon einmal so genial geraten hat.

Ändere ich die Vorlage, werden die Änderungen auch inhaltlich in den darauf basierenden Dokumenten übernommen. Nur mit dem Ersetzen klappt es nun nicht. Irgendwo ist noch ein Haken ...

Auch wenn es noch nicht klappt, habe ich wieder viel durch Euch dazu gelernt! Vielen, vielen Dank für Eure Mühe!

Christiana
Antworten