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-Key: 337929

Url: https://administrator.de/contentid/337929

Printed on: April 26, 2024 at 11:04 o'clock

Member: emeriks
emeriks May 16, 2017 at 11:54:56 (UTC)
Goto Top
Hi,
wird denn überhaupt der Prozess gestartet?

E.
Member: Kraemer
Kraemer May 16, 2017 updated at 12:27:53 (UTC)
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ß
Member: SachsenHessi
SachsenHessi May 19, 2017 at 11:36:23 (UTC)
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