Liniendiagramm Farben ändern

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: Liniendiagramm Farben ändern

Re: Liniendiagramm Farben ändern

von Pit66 » Do, 23.04.2020 11:51

Hallo Rik,

so richtig funzt das bei mir noch nicht...
Es bleibt in der do loop Schleife hängen, weil .LineColor nicht überschrieben wird.

Halbe Stunde später...
Hab's jetzt selbst rausgefunden .FillColor kann man beschreiben und bekommt damit den gleichen Effekt.
LO Version: 6.2.8.2 (x64)

Code: Alles auswählen

sub test
oDoc = ThisComponent
oView = oDoc.CurrentController
oSheet = oDoc.Sheets.getByName("Tabelle1")
Dim oCharts
oCharts = oSheet.Charts
Dim oChart
for i=0 to oCharts.count-1
   oChart = oCharts.getByIndex(i).EmbeddedObject
   oChart.lockControllers
   oDiagram = oChart.Diagram
   oDataSequences = oChart.UsedData.DataSequences
   'msgbox (ubound (oDataSequences))
   if (ubound (oDataSequences)) = 2 then 'Anzahl der Datenreihen
	   for k = 0 to  ubound (oDataSequences)
	      	 do
		     oDataRowProperties = oDiagram.getDataRowProperties(k)
		     'oDataRowProperties.LineColor = RGB(0,255,0)
                     oDataRowProperties.FillColor = RGB(0,255,0)
   		 loop while oDataRowProperties.LineColor <> RGB(0,255,0)
	   next k
   end if
   oChart.unlockControllers
next i
end sub

Re: Liniendiagramm Farben ändern

von Pit66 » Do, 23.04.2020 09:15

Vielen Dank!
Das trifft es genau auf den Punkt.

Re: Liniendiagramm Farben ändern

von F3K Total » Mi, 22.04.2020 18:22

Liniendiagramm Farben ändern

von Pit66 » Mi, 22.04.2020 09:45

Hallo!
Ich habe mal wieder eine Frage...
Ziel ist es, die Farben der Datenreihen in einem Liniendiagramm per Makro zu ändern.

Code: Alles auswählen

sub Diagramm
oDoc = ThisComponent
oView = oDoc.CurrentController
oSheet = oDoc.Sheets.getByName("Test")
Dim oCharts 'Charts in the sheet
oCharts = oSheet.Charts
msgbox (oCharts.count)  'Zeigt die korrekte Anzahl an Diagrammen an
Dim oChart
for i=0 to oCharts.count-1
   oChart = oCharts.getByIndex(i).EmbeddedObject
   oDiagram = oChart.getFirstDiagram()
next i
end sub
Hier hänge ich jetzt fest in der Struktur.
Wie kann man die einzelnen Datenreihen in Form einer Schleife durchlaufen
und dabei den Farbwert erst auslesen und dann ändern. Da ich nicht die gespeicherte Reihenfolge kenne.

Ich hoffe ihr könnt mir helfen.
Gruß Pit

Nach oben