excel line-chart mit multiple series

A

altabq

Registriert
Thread Starter
Dabei seit
01.02.2012
Beiträge
3
Reaktionspunkte
0
hey,

mein applescript sollte eigentlich eine line chart erstellen, sie formatieren und als PNG exportieren. das problem ist, dass applescript zwar den graph korrekt erstellt und auch die richtigen zellen als quelle auswählt, allerdings wird nur die erste zeile korrekt dargestellt, die zweite zeile ist die summe der ersten und der zweiten zeile.

hier ist mein script:

Code:
 1 tell application "Microsoft Excel"
 2     set DestFolder to choose folder
 3     select worksheet "ex+im"
 4     #   
 5     if chart object 1 in worksheet "ex+im" exists then
 6         delete chart object 1 in worksheet "ex+im"
 7     end if
 8     #   
 9     set theRange to range "C4:AJ5" of worksheet "ex+im"
10     set theChartObject to make new chart object at worksheet "ex+im" with properties {top:169.0, left position:461.0, height:295.0, width:431.0}
11     set theChart to chart of theChartObject
12     set source data theChart source theRange plot by by rows
13     tell theChart
14         set chart type to line stacked
15         set has legend to true
16
17         tell series 1
18             set xvalues to range "D1:BL1" of worksheet "ex+im"
19             set series values to range "C4:AJ5" of worksheet "ex+im"
20             set has data labels to false
21         end tell
22
23         set has title to true
24         tell its chart title
25             set caption to "Export & Import"
26             tell font object
27                 set name to "Helvetiva"
28                 set font size to 16
29             end tell
30         end tell
31         save as picture theChartObject picture type save as PNG file file name (((DestFolder) as text) & "ex_im.png") as text
32     end tell
33 end tell

ich denke das problem liegt in Zeile 9 und 12, sowie 19; da ich die quell daten als ""C4:AJ5"" festlege, was excels addition versteht.. korrekt wäre wohl, zwei separate series (series 1 und series 2) zu erstellen. allerdings hab ich keinen plan wie das gemacht wird. kann mir jemand weiterhelfen?

EDIT: Anbei der screenshot aus excel, mit dem korrekten (manuell erstellten) und fehlerhaften (applescript) graph.
Screen shot 2012-02-01 at 7.47.02 PM.jpgScreen shot 2012-02-01 at 7.47.02 PM.jpg
 
Zuletzt bearbeitet:
ich denke das problem liegt in Zeile 9 und 12, sowie 19; da ich die quell daten als ""C4:AJ5"" festlege, was excels addition versteht..

Nein, das Problem ist, dass der Diagrammtyp falsch gewählt ist. "line stacked" ist ein gestapeltes Liniendiagramm, d.h. Linie 1 bildet die Werte der Datenzeile 1 ab, jede weitere Linie zeigt die Summe aller Datenzeilen bis dahin. Für unabhängige Datenzeilen mit unabhängigen Linien (Export & Import) ist der Diagrammtyp "line markers" gedacht, wobei man die Marker abschalten kann. Folgende Änderung also in Deinem Skript:

Zeile 14:
Code:
set chart type to line markers
und der tell-Block in Zeile 17 bis 21:
Code:
tell every series -- nicht nur series 1
    set xvalues to range "D1:BL1" of worksheet "ex+im"
    -- set series values to range "C4:AJ5" of worksheet "ex+im" -- nicht nötig
    set has data labels to false
    set marker style to marker style none -- Marker ausschalten
end tell

Außerdem habe ich nicht kapiert, warum der Bereich für die xvalues bei Dir größer ist als der für die Daten (xvalues gehen von D bis BL, während die Daten nur von C bis AJ gehen). Aber es macht offenbar keine Probleme.
Bei mir meckert Excel jedes Mal beim Exportieren als PNG, wenn es eine Datei mit diesem Namen schon gibt. Ansonsten funktioniert's.
 
moin,
strange.. meinte eigentlich längst geantwortet zu haben.

danke buridans_esel, war tatsächlich der falsche Diagrammtyp. Line markers funktioniert. Mit

Code:
set marker style to marker style none

kriege ich das erwünschte Ergebnis.

Der xvalue Bereich ist ein typo, durchs ständige copy-pasten von Zielen. Hab ich jetzt korrigiert.

Nochmal danke. Sehr cool, dass es jetzt funktioniert.
 
Zurück
Oben Unten