Wir sind auf Ihre Unterstützung angewiesen!
💚 BITTE helfen Sie uns HEUTE mit einer SPENDE 💚
Helfen Sie das LibreOffice Forum zu erhalten!
> 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
[gelöst] Bild bei bestimmtem Wert ein- oder ausblenden
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
Vielen Dank im Voraus
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
Vielen Dank im Voraus
Zuletzt geändert von Oscar B am Di 26. Jan 2021, 14:13, insgesamt 1-mal geändert.
Re: Bild bei bestimmtem Wert ein- oder ausblenden
Hallo Oscar,
hier eine Beispieldatei mit Makro: Weitere Beschreibungen in Tabellenblatt "Tabelle1" und Kommentare im Makrocode.
hier eine Beispieldatei mit Makro: 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
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: Bild bei bestimmtem Wert ein- oder ausblenden
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
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)
Re: Bild bei bestimmtem Wert ein- oder ausblenden
Guten Abend,
ich habe doch noch eine Frage, bzw. ein Problem.
In der Zeile, in der die Grafik referenziert wird benutzt du:
Das funktioniert auch, wird aber bei mehreren Bilder etwas unübersichtlich.
Du hast aber daruntergeschrieben, dass auch folgendes geht:
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
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)
Du hast aber daruntergeschrieben, dass auch folgendes geht:
Code: Alles auswählen
oDP=thisComponent.Drawpages(0).getByName("MeinBild 1")
"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)
Re: Bild bei bestimmtem Wert ein- oder ausblenden
Hallo Oscar,
ich bitte um Verzeihung. Da war ich wohl schlampig, weil nicht getestet.
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:
ich bitte um Verzeihung. Da war ich wohl schlampig, weil nicht getestet.
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:
Gruß
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Craig
Nie die Sicherungskopie vergessen!
════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8
Re: Bild bei bestimmtem Wert ein- oder ausblenden
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!
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!
LibreOffice Version 7.1.1.2 (x64) - Windows 10 (x64)
Re: Bild bei bestimmtem Wert ein- oder ausblenden
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.
Hier erstmal im Zellbereich G8 bis G20.
Auf Craigs Datei basierendes Beispiel anbei.
Gruß R
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.
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
Gruß R
- Dateianhänge
-
- Grafik sichtbar_unsichtbar v3.ods
- (73.79 KiB) 121-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 ❤️