Seite 1 von 1

Calc - Bilschirmaktualisierung EIN- / AUS-schalten

Verfasst: Do 9. Jan 2025, 12:32
von Proma
Hallo liebe Experten,

schon seit geraumer Zeit bin ich auf der Suche nach einer Möglichkeit, das Flackern des Monitors zu unterbinden, das insbesondere dann auftritt, wenn ich mehrere Dateien nach einander öffne und wieder schließe. Zwar habe ich schon die eine oder andere Möglichkeit gefunden, funktioniert hat (zumindest bei mir) noch keine. Die gute Nachricht - es hat auch keine der getesteten Möglichkeiten mein Arbeitsergebnis beeinträchtigt, also keine merkliche Verzögerung, kein Absturz oder ähnliches - es hat einfach nur so wie vorher weiter geflackert.

Vielleicht liegt das Problem in meiner Ausstattung (Win 11, LO 24.2) oder vielleicht auch daran, dass die meisten der getesten Lösungen schon reichlich betagt waren (etwa anno 2005 bis 2012). Nur die letzte, von der ich mir dann schon einiges versprochen hatte, war neueren Datums
Fundstelle: https://ask.libreoffice.org/t/libreoffi ... code/78760

Code: Alles auswählen

Sub ScreenUpdatingOff()
' Schaltet die Bildschirm-Aktualisierung AUS
  With ThisComponent
    .CurrentController.Frame.ContainerWindow.Enable = False
    If Not .isActionLocked Then .AddActionLock
    If Not .hasControllersLocked Then .lockControllers
  End With
End Sub

Sub ScreenUpdatingOn()
' Schaltet die Bildschirm-Aktualisierung EIN	
  With ThisComponent
    If .hasControllersLocked Then .unlockControllers
    If .isActionLocked Then .removeActionLock
    .CurrentController.Frame.ContainerWindow.Enable = True
  End With
End Sub
Leider war auch hier wieder das Ergebnis ernüchternd - egal, welche der beiden If-Zeilen ich - der dortigen Empfehlung folgend - in jeder der Prozeduren auskommentiert oder belassen habe, der Bildschirm hat sich nicht darum geschert und geflackert wie immer.

Jetzt bin ich mit meinem Latein am Ende und hoffe, Ihr könnt mir vielleicht weiterhelfen.

Vielen Dank vorab schon für Eure Unterstützung und liebe Grüße
vom Martin

Re: Calc - Bilschirmaktualisierung EIN- / AUS-schalten

Verfasst: Do 9. Jan 2025, 17:34
von F3K Total
Moin,
... das insbesondere dann auftritt, wenn ich mehrere Dateien nach einander öffne und wieder schließe
Ich nehme mal an, dass du die Dateien öffnest und schließt um um irgendetwas auszulesen bzw. hineinzuschreiben.
Wusstest du, dass man die Dateien dazu garnicht sichtbar öffnen muss?

Code: Alles auswählen

dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "Hidden"
args(0).Value = True
Document = StarDeskTop.loadComponentFromUrl(Pfad zur Datei,"_blank",0,args())
' ... mach was mit Document
Aber nicht vergessen, die Datei danach zu speichern und wieder zu schließen ...
Gruß R

Re: Calc - Bilschirmaktualisierung EIN- / AUS-schalten

Verfasst: Do 9. Jan 2025, 20:48
von Proma
Hallo F3K Total,

vielen Dank, das funktioniert (zumindest auf den ersten Blick) perfekt; vielen Dank dafür!
Vielleicht erinnerst Du Dich, Du hast mir kürzlich schon auf die Sprünge geholfen bei meiner Anfrage bezüglich des Erstellens einer Makro-Liste. Da hast Du mir zu Deiner Antwort eine Beispiel-Mappe angehöngt, die per Makro
Sub S_anlyse_macros(DocumentURL) nacheinander mehrere Dokumente eines Ordners nur zum Lesen öffnet und danach ohne jede Änderung wieder schließt. In dem genannten Makro war - ich glaube in den Code-Zeilen 6 und 7 - die Eigenschaft "Hidden" explicit auf FALSE gesetzt; und ich hatte fälschlicherweise geglaubt,, diese Angabe diene nur dem Zweck, verborgene Dateien nicht zu laden. Offenbar ein Trugschluss. Wo kann ich denn darüber mehr nachlesen?

Aber nochmal zurück zu meiner eigentlichen Frage: Anweisungen wie z.B, ScrennUpdating von Excel oder etwas Vergleichbares gibt es nicht für LibreOffice, weil man das mit der Eigenschaft "Hidden" regeln kann? Bitte entschuldige, wenn ich so dämlich frage, aber seit nahezu 40 Jahren lebe ich jetzt in der Meinung, dass die Eigenschaft "Hidden" (zumindest in Windows) das Anzeigen oder Verbergen einer Datei z.B. im Explorer regelt. Ich glaube, ich brauche mal ein Reset...

Vielen Dank, dass Du Dich mit mir abmühst, danke auch für Deine Geduld und liebe Grüße
vom Martin