Hallo Lilo, mit PERL könnte man das so machen:
Mit einem kleinen PERL-Programm [2] die zu ändernden Dateien systemweit einsammeln und dann über eine Schleife für jede dieser Dateien das Makro [1] unsichtbar ( = LO Oberfläche wird nicht gestartet ) ausführen.
Ich habe es mal mit Deiner Datei getestet. Da funktionierte der "unsichtbare" Makro-Aufruf und die Datei wurde wie gewünscht modifiziert.
Die Schleife in dem PERL-Programm habe ich nur "angedeutet".Aber bitte erst mal in einem definierten Umfeld testen und überprüfen, ob alles so funktioniert, wie Du es Dir vorstellst.
Gruß Hans-Werner ;-))[1] MAKRO ( macro:///Standard.AutoAus.AutoAus - Das Makro "AutoAus" stehe im Modul "AutoAus" in der Bibliothek "Standard" )
Option Explicit Sub AutoAus (D as String) ' Datei ' "AutoAus" nach einer Idee von Gerhard Weydt ergänzt um: ' ' + Übergabe Datei(name) an Makro. ' + Datei unsichtbar öffnen. ' + Datei Speiuchern und schließen. Dim oD as Object ' [object] Document Dim oPStyles as Object ' [object] PStyles Dim oStyle as Object ' [object] Style Dim aD() as Variant ' [array] Dummy Dim iStyle as long ' [index] Style Dim aPV(0) as New com.sun.star.beans.PropertyValue aPV(0).name = "Hidden" aPV(0).value = TrueoD = StarDesktop.loadComponentFromURL(ConvertToURL(D),"_blank",0,aPV()) ' Datei 'unsichtbar' öffnen
oPStyles = oD.StyleFamilies.getByName("ParagraphStyles")
For iStyle = 0 To oPStyles.Count-1 Step 1
oStyle = oPStyles.getByIndex(iStyle)
oStyle.isAutoUpdate = False
Next iStyle
oD.StoreAsURL(ConvertToURL(D),aD()) ' Datei speichern
oD.Close(False) ' Datei schließen
End Sub
[2] P E R L ( AutoAus.pl )
use strict;
use warnings;
my $D; # Dateiname
my $L; # LibreOffice
my $M; # Makro
$L = "C:/Program Files/LibreOffice/program/soffice.exe"; #
LibreOffice-Programm
# ITER: Über alle zu aktualisierenden Dateien: $D = "E:/TMP/standard-defekt1.odt"; # Zu aktualisierende Datei$M = "macro:///Standard.AutoAus.AutoAus($D)"; # Makro-Aufruf mit zu aktualisierender Datei
`"$L" --nologo "$M"`; # Makro "unsichtbar" ausführen # ITER-END ------ Originalnachricht ------ Von: "Lilo von Hanffstengel" <[email protected]> An: "users-de" <[email protected]> Gesendet: 12.11.2018 09:57:27Betreff: Re: [de-users] Einfach und schnell deaktivierung von 'Automatische Aktualisierung' in allen Absatzvorlagen
Hallo Gerhard, Am Sun, 11 Nov 2018, um 15:46:06 [GMT +0100] (ist 15:46 wo ich lebe) schrieb Gerhard:das folgende Makro habe ich mit einer Dokument-Vorlage (.ott), getestet,bei der ich bei einer Absatzvorlage die Automatik gesetzt hatte. Wie gewünscht, war danach der Haken weg. Das Makro setzt sämtliche Automatikeinträge auf aus! Das Speichern danach habe ich bewusst nicht ins Makro genommen. Bitte aber auf einer Kopie ausprobieren, bevor du das in größerem Maßstab ausführst.Sub AutoAus Dim Pstyles as object, style as object, i as long, upper as long PStyles = ThisComponent.StyleFamilies.getByName("ParagraphStyles") upper = PStyles.Count - 1 for i = 0 to upper style = PStyles.getByIndex(i) style.isAutoUpdate = False next end subDas Makro klappt und setzt es korrekt auf Aus. Mal schauen wie ich das dann im größeren Umfang i nder Linux-Shell verwende, damit ich das besser automatisieren kann; wahrscheinlich als Python-Script. Erst mal ist das Problem damit erledigt. Danke sehr, Gerhard, für deinen Tipp.ÜS: Ich werde wohl mal "Andrew Pitonyak's OpenOffice Macro Information" aufhttp://www.pitonyak.org/oo.php durchlesen müssen, um für später gewappnet zu sein, wenn es wieder OO/LO-Makros braucht. -- Freundliche Grüße GwenDragon // Lilo von Hanffstengel -- Liste abmelden mit E-Mail an: [email protected]Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
-- Liste abmelden mit E-Mail an: [email protected] Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de Listenarchiv: https://listarchives.libreoffice.org/de/users/ Datenschutzerklärung: https://www.documentfoundation.org/privacy
