Hallo Leute,
erstmal ein Danke schön vorweg für eure Antworten.
Ich seh das es doch nicht so einfach ist, wie ich es mir dachte. Liegt aber wohl auch daran das ich nicht weiß wie ich es besser beschreiben und Erklären kann, und ich vielleicht ein zu simples Beispiel gegeben habe. Sorry dafür.
Und deshalb 2 Dateien im Anhang die das besser verdeutlichen können.
In der Datei
Werteausgabe-direkt.ods wende ich dieses Verfahren an.
Code: Alles auswählen
mycell1 = oBlatt2.getCellRangeByName("B2")
mycell1.value = oDiagram.xAxis.getPosition.X
Und dadurch werden mir die dazugehörigen Werte von z.B.
rect.X ausgegeben. Und es geht mir nicht dabei um 2 oder 3 "Eigenschaften" und deren Werte, sondern um einige mehr (über 20). Und ich wollte mir das ersparen das ich für jede "Eigenschaft" im Vorfeld eine einzelne Zelle defeniere.
Und wenn ich schon so gesehen ein Array mit den "Eigenschaften" erstelle, dann dachte ich mir "2 Fliegen mit einer Klappe schlagen." Eine Spalte mit den Eigenschaften-Namen und eine Spalte mit den Eigenschaften-Werten.
Deshalb kam ich auf die Ide mit diesem Code.
Code: Alles auswählen
Mase(2) = "oDiagram.xAxis.getPosition.X"
Mase(3) = "oDiagram.xAxis.getPosition.Y"
For mi = 2 to 3
ZelleN = oBlatt2.getCellRangeByName("A" & mi)
ZelleN.string = Mase(mi)
ZelleM = oBlatt2.getCellRangeByName("B" & mi)
ZelleM.value = Mase(mi)
next mi
Das habe ich versucht in der Datei
Werteausgabe-indirekt_versuch.ods anzuwenden, was aber nur teilweise funktioniert, Eigenschaften-Namen in die Spalte A.
@Karo
Im Fall rect.x(ohne Quotes) wird das ein Integer sein
Na ja, sagen wir es mal so rum. Es ist ein Zahlenwert; mal Integer, mal Double. Also mal mit und mal ohne Nachkommastellen.
im Fall "rect.x"(mit Quotes) ist das eben der Text zwischen den Anführungszeichen: "rect.x"...
Und das würde ich gerne so umwandeln, das es eben kein Text mehr ist, sondern ein Befehl, Anweisung oder wie man das nun nennen kann.
@Fieder
Dein Vorschlag mit
new com.sun.star.beans.PropertyValue bringt leider nicht das was ich wollte. Ich bekomme nämlich auch in diesem Falle 0. Vielleicht habe ich ja auch was verkehrt gemacht. Sollte es aber dennoch prinzipiell damit funktionieren, dann wäre mir der Aufwand dafür aber zu hoch. Denn dann kann ich genau so gut bei meinem Ursprünglichem Verfahren bleiben.
@gogo
rect ist zum Zeitpunkt des Eintragens in die Zellen noch:
Falsch!
Ich zitiere mich mal selber.
balu hat geschrieben:
Mit folgendem Code-Schnipsel kann ich nach der Erstellung eines Diagramm mir diverse Werte des Diagramms auslesen.
rect hat zu dem Zeitpunkt wo ich es mit der Ursprünmglichen Methode aufrufe schon längst einen Wert. Und dieser ist eben nicht Null. Oder wolltest Du mir jetzt damit was anderes sagen?
Ich hoffe das Durch die Dateien jetzt einiges verständlicher wird. Die letzt genannte ist diejenige mit meinem Problem.
Ach ja, Datei!
Datei öffnen, und auf den Grünen Button klicken. Dann wird automatisch auf Blatt2 gewechselt, und die Spalte B wird bei der einen mit verschiedenen Werten gefüllt, und bei der anderen lauter Nullen (0). Und beide geben anschließend eine Meldung aus: "Diagramm ist Fertig."
Und bitte tut mir doch einen Gefallen. Streitet euch nicht!
Gruß
balu