Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ole



David
23-01-2006, 18:36
Kann man mittels OLE auch aus dem geöffneten Excel File Werte hineinschreiben/lesen, auch wenn es nicht gespeichert wurde????

aus dem gespeicherten File kann ich lesen/schreiben, aber nicht aus einem geöffnetem.



use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft Excel';
$Win32::OLE::Warn = 3; # die on errors...
my $Excel = Win32::OLE->GetActiveObject('Excel.Application')
|| Win32::OLE->new('Excel.Application', 'Quit'); # get already active Excel
# application or open new
my $Book = $Excel->Workbooks->Open("Pfad/auslesen.xls"); # open Excel file
my $Sheet = $Book->Worksheets(1); # select worksheet number 1
my $array = $Sheet->Range("A1:B1")->{'Value'}; # get the contents
# Rechte obere Koordinate
# Linke untere Koordinate
$Book->Close;
foreach my $ref_array (@$array) { # loop through the array
# referenced by $array
foreach my $scalar (@$ref_array) {
print "$scalar\t";
}
print "\n";
}



Er will es neu öffnen, auch wenn ich es schon geöffnet habe!

rais
29-01-2006, 16:06
Hallo,


Er will es neu öffnen, auch wenn ich es schon geöffnet habe!
Hast Du denn etwas anderes erwartet?


my $Book = $Excel->Workbooks->Open("Pfad/auslesen.xls");
Vielleicht funzt ja etwas in der Art

my $Book = $Excel->Workbooks->Activate("auslesen.xls") || $Excel->Workbooks->Open("Pfad/auslesen.xls");
oder wie auch immer das heißen mag; schau einfach mal in Deiner Doku nach, wie man ein bereits geöffnetes workbook für eigene Zwecke aktivieren kann...
MfG,