Perl с использованием модуля Win32::OLE Excel 2007 — невозможно создать диаграмму

Я запускаю следующий простой скрипт на perl64 для создания диаграммы в Excel, но я получаю следующие ошибки без создания диаграммы.
Он открывает лист Excel, записывает данные в лист, но не диаграмму.

Win32::OLE(0.1709) error 0x80020003: "Member not found"
    in PROPERTYPUT "ChartType" at C:\path\test.pl line 20.

Вот моя спецификация системы

  • Версия PERL: Активный Perl 64 v5.16.3
  • WIN32 OLE: 0,1709
  • Версия Excel: Excel 2007 SP3

Может ли кто-нибудь дать мне информацию о том, как я могу удалить эту ошибку и создать диаграмму?

use strict;
use Win32::OLE; 
use Win32::OLE::Const 'Microsoft Excel';

my $Excel = Win32::OLE->new("Excel.Application");
$Excel->{Visible} = 1;
$Win32::OLE::Warn = 3;
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;

person user2263994    schedule 09.04.2013    source источник


Ответы (1)


Попробуйте изменить эту строку:

 $Chart->SetSourceData({Source => $Range, PlotBy => xlColumns});

к этому:

 $Chart->SetSourceData( $Range, xlColumns );
person gangabass    schedule 10.04.2013
comment
Большое спасибо за ответ по этому поводу. Я пробовал вышеуказанные изменения, но он все еще не создает диаграмму. Я вижу ту же ошибку. Я попробовал тот же сценарий Perl на ноутбуке моего друга, у которого такая же конфигурация системы, как и у меня, и он работал на его ноутбуке. Есть ли какая-то конкретная конфигурация, которую мне нужно сделать, чтобы заставить ее работать? - person user2263994; 10.04.2013