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 = True
oD = 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" <info@gwendragon.de>
An: "users-de" <users@de.libreoffice.org>
Gesendet: 12.11.2018 09:57:27
Betreff: 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 sub
Das 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"
auf
http://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: users+unsubscribe@de.libreoffice.org
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: users+unsubscribe@de.libreoffice.org
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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.