0

次のPerlコードを使用して、Excelワークシートのグラフにいくつかの変更を加えようとしています。

    $ex = Win32::OLE->new ('Excel.Application')
        or confess "could not instantiate Excel.Application: $!\n";

    my $workbook = $ex->Workbooks->Open ($file)
        or confess "failed to open $file: $!";

    my $charts_ws = $workbook->Worksheets ("Charts");
    my $charts_col = $charts_ws->ChartObjects;

    for (my $i = 0; $i != $charts_col->Count; ++$i)
    {
        my $chart = $charts_col->Item ($i); # XXX the problem is here
    }

    $workbook->Close;

XXXマークされた線まですべてが機能しているようです。残念ながら、次のエラーが発生します。

Win32::OLE(0.1709) error 0x800a03ec
    in METHOD/PROPERTYGET "Item" at test.pl line 557

0x800a03ecHRESULTの値が何であるかを解読できませんでした。

4

1 に答える 1

0

(ここに質問を投稿してから数秒後に答えが見つかるのはなぜですか?)

解決策:使用する必要が$charts_ws->ChartObjects ($i)->Chartあり、インデックス1からループを開始する必要があります。

于 2012-05-30T13:00:49.023 に答える