Seite 1 von 1

Geöffnete Excel Datei erkennen

Verfasst: Montag 8. März 2010, 18:38
von Kraus_
Hallo,

da ich leider kein Excel Forum gefunden habe, trage ich hier meine Frage ein. Bin neu hier...

Frage: Wie kann ich herausfinden, ob die Excel Datei, die ich bearbeiten möchte, schon geöffnet ist?

Hintergrund: In einer anderen Anwendung habe ich schon ein funktionierendes Python skript geschrieben, welches Excel öffnet ausliest und wieder schließt. Nun möchte ich aus dieser Excel Datei selbst dieses skript starten. Nun kommt es zu dem Problem, dass das vorhandene skript die offene Excel Datei erkennt und eine Abfrage "...möchten sie die datei neu landen" Ja/Nein generiert, was ich unterbinden möchte und auch zu Fehlern führt.

Habe schon nach win32com Beschreibungen gesucht bzw. file open usw. aber leider nichts gefunden.

Grüzi

Verfasst: Mittwoch 10. März 2010, 09:47
von Kraus_
Hätte gedacht, dass es etwas einfacher sei und ich mich vor Lösungsvorschlägen nicht retten könne...

Habe gestern die Excel Methoden nach Hinweisen durchgeschaut. Mit "workbooks.open()" geht es über den Umweg mit einem Fehlercode in VBA. Unter Python funktioniert es aber anscheinend nicht.

Verfasst: Sonntag 14. März 2010, 12:12
von noisefloor
Hallo,

grundsätzlich sollte das so funktionieren, dass du nachschaust, ob das Betriebssystem einen File-Handle auf die entsprechende Datei offen hat.

Wie du das am einfachsten mit Python realisierst kann ich dir aber nicht sagen...

Gruß, noisefloor

Verfasst: Sonntag 14. März 2010, 13:07
von snafu
Eine reine Python-Lösung kenne ich nicht, aber hilft dir vielleicht das Windows-Tool Handle?

Auszug aus der Doku:
Name
Mit diesem Parameter geben Sie an, dass Handle nach Verweisen auf ein Objekt mit einem bestimmten Namen suchen soll. Wenn Sie beispielsweise erfahren möchten, ob „c:\windows\system32“ durch einen Prozess geöffnet wurde (und wenn ja, durch welchen), geben Sie Folgendes ein:

handle windows\system

Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden, und der angegebene Namensteil kann sich an einer beliebigen Stelle in den angegebenen Pfaden befinden.