Date: prev next · Thread: first prev next last
2024 Archives by date, by thread · List index


Hallo zusammen,

das Makro hatte noch eine kleine Ungenauigkeit, nicht veränderte Dateien wurden nicht geschlossen. Der korrekte Code ist:

option explicit

Dim oDialog as Object
Dim sPfad as String
dim oSFA as object

sub setZoom100

oDialog = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
oDialog.setDescription("Bitte das Verzeichnis auswählen")
if oDialog.execute() then
    sPfad = oDialog.Directory
end if

if sPfad = "/" then
    MsgBox "nichts ausgewählt!"
    Exit sub
end if
oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")

Verzeichnisaufloesen(sPfad)

end sub

sub Verzeichnisaufloesen(Pfad as string)

dim ListeVerz() as string
Dim obVerz as long, i as long

ListeVerz = oSFA.getFolderContents(Pfad, TRUE)
obVerz = ubound(ListeVerz())
if obVerz = -1 then exit sub    ' leeres Verzeichnis

' Dateien und/oder Ordner vorhanden

for i =0 to obVerz
    if oSFA.isFolder(ListeVerz(i)) then
        Verzeichnisaufloesen(ListeVerz(i))
      else
        if Right(ListeVerz(i),4) = ".odt" then
            oDoc = StarDesktop.loadComponentFromURL(ListeVerz(i), "_blank", 0, docArgs() )
            if oDoc.currentController.ViewSettings.ZoomType = 3 then
                if oDoc.currentController.ViewSettings.ZoomValue <> 100 then
                    oDoc.currentController.ViewSettings.ZoomValue = 100
                    oDoc.store
                end if
            end if
            oDoc.close(TRUE)
        end if
    end if
next

end sub

Am 07.04.2024 um 23:03 schrieb Gerhard Weydt:
Hallo Rainer,

ich habe trotz Haralds Einwand, dem ich mich eigentlich anschließe, ein Makro erstellt, das für ein auszuwählendes Verzeichnis und seine Unterordner bei allen Writer-Dokumenten mit Maßstab ungleich 100 % den Maßstab auf 100 % setzt. Ich hänge das Makro unten an, zunächst ohne weitere Erläuterungen, damit ich mir nicht unnötige Arbeit mache, wenn du mit Makros umgehen kannst. Wenn du noch Erklärungen benötigst, melde dich noch einmal, aber das kann dann per direkter Mail an mich sein, damit müssen wir die Liste nicht belasten. Starte das Makro für jedes Verzeichnis, in dem alle Writer-Dokumente ggf. auf 100 % gesetzt werden dürfen, oder, wenn das ausnahmslos gilt, für das ganz große Verzeichnis, in dem alle Writer-Doks zu finden sind. Mache aber, auch wenn ich das bei mir getestet habe, erst einen Test mit einem kleinen Verzeichnis mit einigen wenigen Dateien (und gleich auch mit Unterordner(n)). Jedes betroffene Dokument wird kurz geladen und wieder geschlossen, das Fenster ist dabei im Wesentlichen jeweils schwarz.

Gruß

Gerhard


option explicit

Dim oDialog as Object
Dim sPfad as String
dim oSFA as object

sub setZoom100

oDialog = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
oDialog.setDescription("Bitte das Verzeichnis auswählen")
if oDialog.execute() then
    sPfad = oDialog.Directory
end if

if sPfad = "/" then
    MsgBox "nichts ausgewählt!"
    Exit sub
end if
oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")

Verzeichnisaufloesen(sPfad)

end sub

sub Verzeichnisaufloesen(Pfad as string)

dim ListeVerz() as string
Dim obVerz as long, i as long

ListeVerz = oSFA.getFolderContents(Pfad, TRUE)
obVerz = ubound(ListeVerz())
if obVerz = -1 then exit sub    ' leeres Verzeichnis

' Dateien und/oder Ordner vorhanden

for i =0 to obVerz
    if oSFA.isFolder(ListeVerz(i)) then
        Verzeichnisaufloesen(ListeVerz(i))
      else
        if Right(ListeVerz(i),4) = ".odt" then
            oDoc = StarDesktop.loadComponentFromURL(ListeVerz(i), "_blank", 0, docArgs() )
            if oDoc.currentController.ViewSettings.ZoomType = 3 then
                if oDoc.currentController.ViewSettings.ZoomValue <> 100 then
                    oDoc.currentController.ViewSettings.ZoomValue = 100
                    oDoc.store
                    oDoc.close(TRUE)
                end if
            end if
        end if
    end if
next

end sub


Am 07.04.2024 um 21:55 schrieb LO.Harald.Berger@t-online.de:
Hallo Rainer,

Am 07.04.2024 um 18:17 schrieb Gerhard Weydt:
[...snip...] Andererseits: was ist so störend, dass du sie nicht einfach in dem Maßstab belässt?
Je suis d'accord

Worin würde der Sinn bestehen, tausende von Dateien (selbst wenn es mit einem Macro ginge) in einem 100% Maßstab zu ändern und zu speichern?
Ich nehme an, du öffnest nicht täglich hunderte Dateien, oder?

== Workaround mit zwei Klicks ==
Öffne die Datei, mit der du arbeiten möchtest.
Rechtsklick auf die %-Zahl ganz rechts unten in der Statusleiste.
Im Auswahlmenü auf 100% klicken - fertig.
Bearbeite deine Datei und speichere (aber nur, wenn der Maßstab stimmt😉).

Freundliche Grüße
Harald
[...snip...]





--
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.