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 ?
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 ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 337929
Url: https://administrator.de/forum/window-handle-fehlt-337929.html
Ausgedruckt am: 09.01.2025 um 03:01 Uhr
3 Kommentare
Neuester Kommentar
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:
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ß
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ß
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
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