BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[gelöst] Bild bei bestimmtem Wert ein- oder ausblenden

Alles zur Programmierung im LibreOffice.
Antworten
Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

[gelöst] Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von Oscar B » Fr 15. Jan 2021, 14:00

Hallo!
Ich erstelle mir zur Zeit Tabelle bei Libreoffice Calc.
Nun versuche ich, dass bei einem bestimmten Wert in I8 eine Grafik darunter eingeblendet werden soll.
Steht also in I8 "Keine Aufgabe" soll die Grafik sichtbar sein, steht dort etwas anderes, soll sie unsichtbar sein. Das ganze soll passieren, ohne, dass ich noch z.B auf einen Knopf drücken muss, sondern rein durch Änderung des Wertes.

Ich vermute dies geht nur mit Hilfe eines Makros, wenn es anders geht, wäre auch schön.

Ich habe zwar ein wenig Kenntnis mit Programmierung, jedoch nicht mit Libreoffice Basic und Makros, wäre also ganz froh über anfängerfreundlicher Erklärung :lol:

Vielen Dank im Voraus
Zuletzt geändert von Oscar B am Di 26. Jan 2021, 14:13, insgesamt 1-mal geändert.

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von craig » Fr 15. Jan 2021, 15:19

Hallo Oscar,

hier eine Beispieldatei mit Makro:
Grafik sichtbar_unsichtbar.ods
(72.37 KiB) 147-mal heruntergeladen
Weitere Beschreibungen in Tabellenblatt "Tabelle1" und Kommentare im Makrocode.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Re: Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von Oscar B » Fr 15. Jan 2021, 15:51

craig hat geschrieben:
Fr 15. Jan 2021, 15:19
Hallo Oscar,

hier eine Beispieldatei mit Makro:
Grafik sichtbar_unsichtbar.ods
Weitere Beschreibungen in Tabellenblatt "Tabelle1" und Kommentare im Makrocode.
Vielen vielen Dank für die schnelle Antwort!!!
Ich habe das Makro nun auch bei meiner Tabelle hinzugefügt!
Ich musste mich erstmal ein bisschen reinfuchsen, aber jetzt läuft es genau wie ich wollte!
Deine Anleitungen und Anmerkungen waren super!!!
Wirklich tausend Dank :D
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Re: Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von Oscar B » Fr 15. Jan 2021, 20:23

Guten Abend,
ich habe doch noch eine Frage, bzw. ein Problem.

In der Zeile, in der die Grafik referenziert wird benutzt du:

Code: Alles auswählen

oDP=thisComponent.Drawpages(0).getByIndex(0)
Das funktioniert auch, wird aber bei mehreren Bilder etwas unübersichtlich.
Du hast aber daruntergeschrieben, dass auch folgendes geht:

Code: Alles auswählen

oDP=thisComponent.Drawpages(0).getByName("MeinBild 1")
Jetzt bekomme ich allerdings die Fehlermeldung:
"BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: getByName."

Weiß jemand woran das liegt, bzw. wie man es behebt?
Vielen Dank
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von craig » Fr 15. Jan 2021, 22:03

Hallo Oscar,

ich bitte um Verzeihung. Da war ich wohl schlampig, weil nicht getestet. :oops:

Ich habe nun eine Schleife eingebaut, welche alle Bildnamen
durchläuft und bei einem Treffer das Bild ein-/ausblendet.

Ich weiß nicht wie Deine Originaldatei und Deine weiteres Vorhaben aussieht,
deshalb weiß ich nicht ob eine Fehlerroutine eingebaut werden muss, für den Fall,
dass der Bildname nicht vorhanden ist.
z.B. so etwas:
Exception Handling

Hier die neue Variante ohne Errorhandling:
Grafik sichtbar_unsichtbar v2.ods
(73.41 KiB) 124-mal heruntergeladen
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Oscar B
Beiträge: 28
Registriert: Fr 15. Jan 2021, 13:49

Re: Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von Oscar B » Fr 15. Jan 2021, 22:42

Erstmal wieder vielen Dank!!!
Bis jetzt ist die neue Version wirklich super und funktioniert! Morgen werde ich sie dann nochmal genauer testen.
Ein Errorhandling brauche ich nicht!
Gute Nacht! :lol: :D
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)

F3K Total
Beiträge: 2410
Registriert: So 10. Apr 2011, 10:10

Re: Bild bei bestimmtem Wert ein- oder ausblenden

Beitrag von F3K Total » Sa 16. Jan 2021, 09:43

Moin,
ich hätte da noch einen Vorschlag
Mit folgendem, zugegebenermaßen nicht so gut kommentiertem Makro, lese ich den Namen der auslösenden Zelle (event.AbsoluteName) ein, und vergleiche ihn mit dem händisch eingegeben Namen einer Grafik.
Oder anders, wenn ich die Grafik so benenne wie die auslösende Zelle heißt, kann ich sehr leicht viele verschiedene Grafiken, vielen auslösenden Zellen zuordnen.
AB.png
AB.png (112.35 KiB) 1438 mal betrachtet
Hier erstmal im Zellbereich G8 bis G20.

Code: Alles auswählen

Sub show_hide(event)
    osheet = thiscomponent.sheets.getbyname("Tabelle1")
    oRange = osheet.getcellrangebyname("G8:G20")
    if oRange.queryIntersection(event.RangeAddress).count = 1 then
        oDrawPage = osheet.Drawpage
        for i = 0 to oDrawPage.count - 1
            oShape = oDrawPage(i)
            if oShape.Name = event.AbsoluteName then
                if event.Value = 1 then
                    oShape.Visible = true
                else
                    oShape.Visible = false
                endif
            endif
        next i
    endif
end sub
Auf Craigs Datei basierendes Beispiel anbei.

Gruß R
Dateianhänge
Grafik sichtbar_unsichtbar v3.ods
(73.79 KiB) 118-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten