schauan
Goto Top

Window handle fehlt

Hallo,

ich ermittle in einem VBScript das handle von excel so:

Set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
WScript.Sleep 1000
hWnd = xlApp.hWnd

seit einiger Zeit habe ich das Problem, dass mir hier nichts zurückgegeben wird.

in meinem Log habe ich
kein korrektes hWnd ermittelt! hWnd=0

und mein Excel öffnet anschließend nicht die Excel-Datei:
ich erhalte u.a,.
Error #: 424
ERROR - Opening \\...failed!

Woran kann es liegen, dass kein Handle zurückgegeben wird ? face-sad

Content-ID: 337929

Url: https://administrator.de/forum/window-handle-fehlt-337929.html

Ausgedruckt am: 09.01.2025 um 03:01 Uhr

emeriks
emeriks 16.05.2017 um 13:54:56 Uhr
Goto Top
Hi,
wird denn überhaupt der Prozess gestartet?

E.
Kraemer
Kraemer 16.05.2017 aktualisiert um 14:27:53 Uhr
Goto Top
Moin,

magst du mir mal den Zusammenhang zwischen Excel-Datei öffnen und Handle erklären?

Keine Ahnung wie du die Excel-Datei öffnest - ich würde das in etwa so machen:
xlApp.visible = true
xlApp.workbooks.open "c:\datei.xls"  

Und dein Handle wird keinen Wert haben, weil dein Excel entweder noch nicht gestartet wurde oder aber noch kein Fenster erstellt hat.
BTW: Wie hast du denn dein Sleep 1000 ermittelt und was genau soll es bewirken?

Gruß
SachsenHessi
SachsenHessi 19.05.2017 um 13:36:23 Uhr
Goto Top
Hallo,

ich habe es so gelöst:
Ich erstelle (über die Prozessliste) eine Liste aller laufenden Excel-Prozesse und deren Handle.
Dann erstelle ich das Excel-Application Objekt und danach eine neue Liste der laufenden Excel-Prozesse.
Jetzt noch vergleichen, was übrig bleibt ist Dein Handle.

Leider haben die Interop-Klassen von Excel einige kleine "Probleme".
(z.Bsp. auch beim application.quit wird manchmal der Excel-Prozess nicht korrekt beendet)

Gruß
Frank