Ich möchte mittels Perl & der OLE Schnittstelle die Quellen eines existierenden Diagrammes ändenr, nur weiß ich nicht, wie ich den Pfad zum Diagramm finde?!?
Ich erzeuge das .xls File mit:
##################################################################
#Erstellen der Datei
##################################################################
use strict;
use Win32:LE;
use Win32:LE::Const ‚Microsoft Excel‘;
my $Excel = Win32:LE->new(„Excel.Application“);
$Excel->{Visible} = 1;
my $Book = $Excel->Workbooks->Add;
my $Sheet = $Book->Worksheets(1);
my $Range = $Sheet->Range(„A2:C7“);
$Range->{Value} =
[[‚Delivered‘, ‚En route‘, ‚To be shipped‘],
[504, 102, 86],
[670, 150, 174],
[891, 261, 201],
[1274, 471, 321],
[1563, 536, 241]];
my $Chart = $Excel->Charts->Add;
$Chart->{ChartType} = xlAreaStacked;
$Chart->SetSourceData({Source => $Range, PlotBy => xlColumns});
$Chart->{HasTitle} = 1;
$Chart->ChartTitle->{Text} = „Items delivered, en route and to be shipped“;
##################################################################
Nun füg ein 2. Skript periodisch Werte hinzu , was auch problemlos funktioniert.
Nur möche ich, dass das Diagramm immer die letzten z.B. 5 Werte darstellt, daher muss ich die Diagrammquellen mit ändern
Ich habe folgenden Ansatz:
my $Chart = $Excel->Charts->???
#weil ich kann nicht add verwenden da ich damit ja ein neues erzeugen würde
$Chart->SetSourceData({Source => $Range, PlotBy => xlColumns});
#$Range, immer auf den richtigen Wert ändern und es würde funktionieren.
Nur wie kann ich das Chart auslesen???
Soweit so klar, was mein Problem ist???