Grafik aus- einblenden

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Grafik aus- einblenden

von white_chicken » Mi, 14.06.2006 15:25

@Toxitom: Danke für deine Hilfe!!!

Leider bekomme ich bei der Zeile...

Code: Alles auswählen

 Grafik.transparency = 100      ' ist jetzt durchsichtig 
...auch die Fehlermeldung: Eigenschaft oder Methode nich gefunden.

:idea: Ich hab es aber jetzt anders gelöst. Nicht über die Transparenz des Grafikobjektes sondern die Größe. Ich setze SIZE einfach auf 0 und schon ist die Grafik auch verschwunden.

Hier der Code dazu:

Code: Alles auswählen

Sub Grafik_ausblenden
    dim Grafik as Object
	 myDoc = ThisComponent
    mySheet = myDoc.Sheets().getByName("Kapital und Steuern")
    Page = mySheet.drawPage
    Grafik = Page.getByIndex(0)   
    Dim Size As New com.sun.star.awt.Size
    Size.Width = 100
	 Size.Height = 100
	 Grafik.Size=Size
End Sub

von Toxitom » Mi, 14.06.2006 08:11

Hey white_chicken,
ich bekomme in der vorletzten Zeile immer wieder die Fehlermeldung: Eigenschaft oder Methode nich gefunden.
Das wundert mich gar nicht. Die Methode getGraphicObjects() gibt es nur bei Writer-Dokumenten für direkt eingebette Objekte.

Calc nutzt das System der Drawpage - und da gibt es nur indexbasierten Zugang.
Im Übrigen gibt es auch keine "Visible" Eigenschaft für Obejte der Drawpage. Das geht eigentlich nur über die Ebeneneigenschaft - nur die sit eben bei Calc auch nicht voll vorhanden.
Abhilfe: Die Transparenz des Grafikobjektes auf 100 setzen - dann ist es vollständig durchsichtig und du hast den gleichen effekt.
Unter der Annahme, dass du nur 1 Grafikobjekt da drin hast:

Code: Alles auswählen

Sub Grafik_ausblenden
   myDoc = ThisComponent
   mySheet = myDoc.Sheets().getByName("Kapital und Steuern")
   Page = mySheet.drawPage
   Grafik = Page.getByIndex(0)   'das erste Grafikobjekt
   Grafik.transparency = 100      ' ist jetzt durchsichtig
end sub
Hast du mehrere Grafikobjekte, dann musst du eben eine Schleife programmieren und jedes einzelne Element ansprechen, dann mit der Namenseigenschaft vergleichen und so dein gewünschtes Objekt extrahieren.

Viele Grüße
Thomas

von white_chicken » Di, 13.06.2006 15:11

es klappt einfach nicht :(

Ich habe eine Tabelle mit Namen "Kapital und Steuern" und dort ein Grafikobjekt mit Namen "warnschild" eingefügt. Diese Grafik möchte ich per Makro ausblenden.

So sieht mein Makroentwurf aus:

Code: Alles auswählen

Sub Grafik_ausblenden
	myDoc = ThisComponent 
	mySheet = myDoc.Sheets().getByName("Kapital und Steuern")
	Page = mySheet.drawPage
   Grafik = Page.getGraphicObjects().GetbyName("warnschild")
   Grafik.Visible = false	
End Sub


Hab jetzt schon einiges ausprobiert aber wie ich es drehe und wende, ich bekomme in der vorletzten Zeile immer wieder die Fehlermeldung: Eigenschaft oder Methode nich gefunden.

:?: :?: :?:

von Toxitom » Mo, 12.06.2006 17:38

Hey white_chicken,
Die Methode .getGraphicObjects scheint bei der OO Version 1.1.5 die ich benutze nicht zu funktionieren.
Sicher? worauf wendest du sie denn an?
Also, die Methode funktioniert natürlich - nur brauchst du dei Drawpage des jeweiligen Tabellenblattes -> oDrawpage = thisComponent.sheets(0) .drawpage

Und darauf sollte es auch funktionieren:-)

Gruss
Thomas

Grafik aus- einblenden

von white_chicken » Mo, 12.06.2006 14:22

Ich möchte in einem CALC-Dokument eine Grafik per Makro ein- bzw. aublenden. Die Methode .getGraphicObjects scheint bei der OO Version 1.1.5 die ich benutze nicht zu funktionieren. Ich bekomme immer die Fehlermeldung: Eigenschaft oder Methode nich gefunden.

???

Nach oben