Seite 1 von 1
Methoden vom Chart-Object in Libre Calc
Verfasst: Mi 17. Jul 2013, 08:55
von GlebG
Hey,
ich versuche in einem Makro auf eine Grapg zuzugreifen mit Hilfe seines Namens. Hierfuer wuerde ich gerne wissen, welche Methoden das Object Chart dafuer zur verfuegung stellt. Kann mir jemand sagen, wo diese Information gefunden werden kann?
Danke
Re: Methoden vom Chart-Object in Libre Calc
Verfasst: Mi 17. Jul 2013, 11:21
von GlebG
Hey,
ich bin ein wenig weiter gekommen:
laut
http://wiki.openoffice.org/wiki/Documen ... _of_Charts kann ich mit getByName() mir mein Chart holen. Das habe ich versucht:
Code: Alles auswählen
oCharts = oDoc.Sheets.getByName("LMI_Report").Charts
oChart = oCharts.getByName("Created_Devices_By_Month").embeddedObject
Sowohl der Titel als auch der Name der Charts ist "Created_Devices_By_Month". Jedoch kriege ich immer den runtime Fehler vom Typ "com.sun.star.container.NoSuchElementException Message:.:
Das Chart habe ich vorher mit Libre Calc erstellt und Title und Name eingegeben. Ich weis, dass mitauch mit Index arbeiten kann, jedoch will ich ueber den Namen an das Chart kommen.
Re: Methoden vom Chart-Object in Libre Calc
Verfasst: Mi 17. Jul 2013, 12:58
von karolus
Hallo
Wirf mal einen aufmerksamen Blick auf den Beispielscode der von dir verlinkten Seite...
Karolus
Re: Methoden vom Chart-Object in Libre Calc
Verfasst: Do 18. Jul 2013, 02:02
von GlebG
Hi,
sehe da keinen Unterschied: Ich hole mir zuerst das
Charts Objekt mit Hilfe des
Sheet Objektes. Danach hole ich mir das eigentliche
Chart mit Hilfe des
Charts Objektes. Habe ich ein Syntax Fehler drin, den ich nicht sehe?
Code: Alles auswählen
Dim oLMI_Sheet AS Object
Dim oData_Sheet AS Object
Dim oDoc AS Object
Dim oDataCell AS Object
Dim oChart AS Object
Dim oCharts AS Object
oDoc = ThisComponent
oLMI_Sheet = oDoc.Sheets.getByName("LMI_Report")
oData_Sheet = oDoc.Sheets.getByName("LMI_Data")
oCharts = oLMI_Sheet.Charts
oChart = oCharts.getByName("Created_Devices_By_Month").EmbeddedObject
Grus,
GlebG
Re: Methoden vom Chart-Object in Libre Calc
Verfasst: Do 18. Jul 2013, 04:45
von karolus
Hallo
Bei dir fehlt u.A die Zeile:
Code: Alles auswählen
oCharts.addNewByName("Created_Devices_By_Month", Rect, RangeAddress(), True, True)
Karolus
Re: Methoden vom Chart-Object in Libre Calc
Verfasst: Do 18. Jul 2013, 04:54
von GlebG
Hey,
habe folgendes gefunden:
http://comments.gmane.org/gmane.comp.op ... rman/79718
Wie es aussieht, wird manuel erstellen Diagrammen ein automaisch generierter Name gegeben "Object X", wobei X die Nummer ist. D.h. wenn ich in einem Makro mit vorher manuell erstellten Tabellen arbeiten will, muss ich erst heraus finden, wie sie heisen, da rechtsklich/Name aendern nicht hilft...kann das jemand bestaetigen?
Gruss,
Gleb
Re: Methoden vom Chart-Object in Libre Calc
Verfasst: Do 18. Jul 2013, 06:20
von F3K Total
Moin,
der manuell vergebene Name wird im Shape-Object des Diagramms gespeichert, darum muß man über die Drawpage gehen.
Code: Alles auswählen
sub S_Diagramm_getbyname
opage = thiscomponent.sheets.getByName("LMI_Report").drawpage
for i = 0 to opage.count -1
if opage(i).Name = "Created_Devices_By_Month" then
ochart = opage(i).embeddedObject.Component
endif
next i
'xray ochart
end sub
Gruß R