Thread Win32::OLE & Excel->Write Problem (5 answers)
Opened by NixIsFix at 2009-04-28 12:04

NixIsFix
 2009-04-28 12:04
#120973 #120973
User since
2009-04-28
16 Artikel
BenutzerIn
[default_avatar]
hi,

ich habe ein kleines Problem und auf der Suche nach einer Lösung bin ich hier gelandet, vielleicht könnt ihr mir ja weiterhelfen.

Zum Problem
mein perl script erstellt bzw. soll eine Reihe von excel files erstellen.
dafür durchläuft es einen Hash von Dateien und fügt deren info's in die zukünftigen Auswertungsfiles ein. (pro file eine Datei)
Bei einem Auswertungsfile funktioniert es einwandfrei. Bei multiplen files bricht er beim erstellen des 2ten Files ab.

ach ja bin ein kleiner perl noobi ;)

der reduzierte code sieht wie folgt aus:

Code:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
foreach my $Tmp ( sort keys %Files ) {                                   
       my $workbook = Spreadsheet::WriteExcel->new( "Pfad" . "\\" . "tmp-File.xls" ) || die "Error opening ";
       print STDERR "-Generate $Tmp File...\n";
        $workbook->close();
        unlink( "Pfad" . "\\" . "$Tmp-File". ".xls" );
        my $Excel = Win32::OLE->GetActiveObject('Excel.Application')|| Win32::OLE->new( 'Excel.Application', 'Quit' );
        my $workbook2;
        $workbook2 = $Excel->Workbooks->Open("Pfad" . "\\" . "tmp-File.xls" );
        $workbook2->SaveAs("Pfad" . "\\". "$Tmp-File". ".xls" ,xlExcel9795);
        $workbook2->Close;
        unlink( "Pfad" . "\\" . "tmp-File.xls" );
         
     print STDERR ".... finished\n";
    }


darauhin erscheint beim ausführen folgende Fehlermeldung:
Code: (dl )
1
2
3
4
5
6
- Generate File1...finished
- Generate File2...

Win32::OLE(0.1709) error 0x800706be: "Der Remoteprozeduraufruf ist
fehlgeschlagen" at PerlScript.pl line 280
eval {...} called at PerlScript.pl line 280


kann mir irgendjemand helfen?
oder hat jemand ne idee?

View full thread Win32::OLE & Excel->Write Problem