Grafik löschen bzw. verbergen
Moderator: Moderatoren
-
- ***
- Beiträge: 61
- Registriert: Do, 18.12.2003 10:08
Grafik löschen bzw. verbergen
Kann man mit einem Makro eine Grafik in einem Dokument löschen oder zumindest ausblenden oder auf "nicht drucken" stellen?
Ja.
Gruss
Thomas
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- ***
- Beiträge: 61
- Registriert: Do, 18.12.2003 10:08
Hallo Stadtmensch,
hab im MOment nicht die große Zeit, alles auszuprobieren, aber möglicherweise liegt hier tatsächlich ein Bug vor.
Hab nur mal kurz Writer ausprobiert. Dort habe ich schon mit dem Löschen von Formularfeldern per Makro gearbeitet. Grafiken sollten genauso funktionieren.
Also, die Grafik bzw. das Grafikobjekt erreichst du entweder direkt über
thisComponent.getGraphicsObjects().getByName("NamederGrafik")
oder auch über den Umweg Drawpage und index der Grafik.
Hast du das Objekt, kannst du es manipulierern.
Eine Methode dabei ist dispose() , damit sollte das Objekt verschwinden.
Hat leider nicht funktioniert. Entweder fehlerhaft impementiert, oder...?
mit Formularfedern jedenfalls funktioniert es.
Also, das ist der Weg, und der ist bei allen Modulen ähnlich, wobei die Grafiken in allen Modulen unterschiedlich plaziert sind.
Sorry für die knappe Antwort,
Gruss
Thomas
hab im MOment nicht die große Zeit, alles auszuprobieren, aber möglicherweise liegt hier tatsächlich ein Bug vor.
Hab nur mal kurz Writer ausprobiert. Dort habe ich schon mit dem Löschen von Formularfeldern per Makro gearbeitet. Grafiken sollten genauso funktionieren.
Also, die Grafik bzw. das Grafikobjekt erreichst du entweder direkt über
thisComponent.getGraphicsObjects().getByName("NamederGrafik")
oder auch über den Umweg Drawpage und index der Grafik.
Hast du das Objekt, kannst du es manipulierern.
Eine Methode dabei ist dispose() , damit sollte das Objekt verschwinden.
Hat leider nicht funktioniert. Entweder fehlerhaft impementiert, oder...?
mit Formularfedern jedenfalls funktioniert es.
Also, das ist der Weg, und der ist bei allen Modulen ähnlich, wobei die Grafiken in allen Modulen unterschiedlich plaziert sind.
Sorry für die knappe Antwort,
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
-
- ***
- Beiträge: 61
- Registriert: Do, 18.12.2003 10:08
Da muss glaube ich das s bei Grafics weg...Toxitom hat geschrieben:thisComponent.getGraphicObjects().getByName("NamederGrafik")
Das ging bei mir auch nicht. Ich habe die Grafik jetzt ganz klein verkleinert. Dann sieht man sie wenigstens nicht mehr...Toxitom hat geschrieben:Eine Methode dabei ist dispose() , damit sollte das Objekt verschwinden. Hat leider nicht funktioniert.
Vielen Dank für die Antwort!! Es hat sehr geholfen. Oft ist ein kurzer Stichpunkt nach dem man dann googlen kann ebenso (vielleicht sogar noch mehr) hilfreich als wenn jemand das Ganze testweise implementiert und dann die fertige Lösung präsentiert...Toxitom hat geschrieben:Sorry für die knappe Antwort
Mein Problem ist häufig, dass ich gar nicht weiß nach was ich suchen soll...
-
- ***
- Beiträge: 61
- Registriert: Do, 18.12.2003 10:08
-
- ***
- Beiträge: 61
- Registriert: Do, 18.12.2003 10:08
OK, habs gefunden:
Allerdings funktioniert das .dispose() schon wieder nicht... Stimmt da was bei meiner Installation nicht oder muss man bei solchen Objekten u.U. einen andereb Befehl verwenden?
Code: Alles auswählen
ThisComponent.TextFrames(0).setString("SETTEXT")
Hallo Stadtmensch,
Gruss
Thomas
Nein, da gibt es noch einige Baustellen im Basic-Modul. Es kann aber sien, dass die Methode gar nicht für das Objekt gilt. zuert prüfen mitAllerdings funktioniert das .dispose() schon wieder nicht... Stimmt da was bei meiner Installation nicht oder muss man bei solchen Objekten u.U. einen anderen Befehl verwenden?
Code: Alles auswählen
msgbox objekt.dbg_methods
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic