Thread Excel (Win32::OLE) Datei bereits geoeffnet (11 answers)
Opened by fish12345 at 2009-07-29 12:24

fish12345
 2009-07-29 12:24
#123657 #123657
User since
2009-07-29
8 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin neu hier im Forum und auch neu im Umgang mit Perl. Generell habe ich aber durchaus Programmiererfahrung, bin also kein kompletter Neuling.
Um gleich eines Vorweg zu nehmen - die Suchfunktion des Forums habe ich benutzt, doch unter 38 Seiten mit Suchergebnissen konnte ich nichts passendes finden, zumindest nichts wo der Threadtitel bereits auf mein Problem hätte schließen lassen.

Zur Zeit stehe ich vor dem Problem, dass ich eine Exceldatei öffnen, bearbeiten und speichern möchte. Prinzipiell ist dies auch kein Problem, aber ich habe keine Ahnung wie ich mitbekomme ob die Excel-Datei bereits geöffnet ist oder nicht.

Lediglich beim Speichern erscheint dann der "Save as"-Dialog, statt direkt zu speichern. Da es hier um eine Automatisiserung gehen soll, ist dies natürlich kein gewünschtes Verhalten.

Hier mal kurz ein Codeauszug:
Code (perl): (dl )
1
2
3
4
5
6
my $Excel = CreateObject OLE 'Excel.Application' || die $!;
$book = $Excel->Workbooks->Open("$file")||die("Can not open $file"); 
$sheet = $book->Worksheets("Jul");
$sheet->Range("D23")->{'Value'}="some tests";
$Excel->ActiveWorkbook->Close(1);
$Excel->Quit();


Wie gesagt, wenn die Datei nicht geöffnet ist, klappt alles ohne Probleme. Wenn sie geöffnet ist würde ich gerne irgendwie reagieren (z.B. durch Abbruch) - wie kann ich herausfinden ob die Datei bereits geöffnet ist?

MfG,
fish

View full thread Excel (Win32::OLE) Datei bereits geoeffnet