🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Methoden vom Chart-Object in Libre Calc

Alles zur Programmierung im LibreOffice.
Antworten
GlebG
Beiträge: 13
Registriert: Mi 26. Jun 2013, 08:04

Methoden vom Chart-Object in Libre Calc

Beitrag von GlebG » Mi 17. Jul 2013, 08:55

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

GlebG
Beiträge: 13
Registriert: Mi 26. Jun 2013, 08:04

Re: Methoden vom Chart-Object in Libre Calc

Beitrag von GlebG » Mi 17. Jul 2013, 11:21

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.

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Methoden vom Chart-Object in Libre Calc

Beitrag von karolus » Mi 17. Jul 2013, 12:58

Hallo
Wirf mal einen aufmerksamen Blick auf den Beispielscode der von dir verlinkten Seite...

Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

GlebG
Beiträge: 13
Registriert: Mi 26. Jun 2013, 08:04

Re: Methoden vom Chart-Object in Libre Calc

Beitrag von GlebG » Do 18. Jul 2013, 02:02

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

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2539
Registriert: Fr 10. Dez 2010, 10:01

Re: Methoden vom Chart-Object in Libre Calc

Beitrag von karolus » Do 18. Jul 2013, 04:45

Hallo

Bei dir fehlt u.A die Zeile:

Code: Alles auswählen

oCharts.addNewByName("Created_Devices_By_Month", Rect, RangeAddress(), True, True)
Karolus
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

GlebG
Beiträge: 13
Registriert: Mi 26. Jun 2013, 08:04

Re: Methoden vom Chart-Object in Libre Calc

Beitrag von GlebG » Do 18. Jul 2013, 04:54

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

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Methoden vom Chart-Object in Libre Calc

Beitrag von F3K Total » Do 18. Jul 2013, 06:20

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
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten