Grafik löschen bzw. verbergen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Grafik löschen bzw. verbergen

Beitrag von Ein__Stadtmensch »

Kann man mit einem Makro eine Grafik in einem Dokument löschen oder zumindest ausblenden oder auf "nicht drucken" stellen?
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Ja.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Beitrag von Ein__Stadtmensch »

Ich bin irgendwie noch nicht fündig geworden. Kann mal jeman einen Tipp geben wie man eine vorhandene Grafik oder einen vorhandenen Rahmen per Makro auswählt, um ihn dann zu löschen/verbergen?

Das wäre sehr nett...
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Beitrag von Ein__Stadtmensch »

Toxitom hat geschrieben:thisComponent.getGraphicObjects().getByName("NamederGrafik")
Da muss glaube ich das s bei Grafics weg...
Toxitom hat geschrieben:Eine Methode dabei ist dispose() , damit sollte das Objekt verschwinden. Hat leider nicht funktioniert.
Das ging bei mir auch nicht. Ich habe die Grafik jetzt ganz klein verkleinert. Dann sieht man sie wenigstens nicht mehr...
Toxitom hat geschrieben:Sorry für die knappe Antwort
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...

Mein Problem ist häufig, dass ich gar nicht weiß nach was ich suchen soll...
Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Beitrag von Ein__Stadtmensch »

Wo wir gleich dabei sind: Wie ist denn der Befehl, um ein Textfeld (textframe) auszuwählen?
Ein__Stadtmensch
***
Beiträge: 61
Registriert: Do, 18.12.2003 10:08

Beitrag von Ein__Stadtmensch »

OK, habs gefunden:

Code: Alles auswählen

ThisComponent.TextFrames(0).setString("SETTEXT") 
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?
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hallo Stadtmensch,
Allerdings 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?
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 mit

Code: Alles auswählen

msgbox objekt.dbg_methods
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten