"Microsoft Excel wartet darauf, dass eine andere Anwendung eine OLE-Aktion ausführt", wodurch der VBA-Code unterbrochen wird

1717
DarkMoon

Ich habe eine Excel-Arbeitsmappe mit VBA-Code, die ich jeden Tag verwende. Während der Ausführung hängt ein Dialogfeld mit der Meldung "Microsoft Excel wartet darauf, dass eine andere Anwendung eine OLE-Aktion ausführt". Wenn Sie auf "OK" klicken, wird der Code fortgesetzt. Häufig wird der Dialog jedoch nach einigen Sekunden wieder angezeigt. Dies dauert 15 Minuten bis 2 Stunden (wenn ich aufgegeben habe). Wenn das Dialogfeld angezeigt wird, stellt der Code eine Verbindung zu einem Remotecomputer mithilfe von WMI her und führt eine Abfrage aus:

If xlSheet.Cells(intRow, xlSheet.Range("Ping").Column).Value = "Yes" Then On Error Resume Next Set objWMI = GetObject("winmgmts:\\" & xlSheet.Cells(intRow, xlSheet.Range("Name").Column).Value & "\root\cimv2") If Err.Number = 0 Then Set colWin32OperatingSystem = objWMI.ExecQuery("SELECT Version, ServicePackMajorVersion, ServicePackMinorVersion FROM Win32_OperatingSystem")

Es scheint derselbe Computer (Reihe) zu sein, der jedes Mal hängt, daher ist meine derzeitige Theorie der Ansicht, dass es Probleme mit WMI auf dem betreffenden Computer hat, und anstatt nur Zeitüberschreitungen vorzunehmen und fortzufahren, bleibt er hängen. Ich habe Überprüfungen vorgenommen, um den aktuellen Computer zu überspringen, falls ein Test fehlschlägt. Es versucht, den DNS-Namen aufzulösen, versucht dann einen Ping-Befehl, versucht dann, über WMI eine Verbindung herzustellen, und führt dann die Abfrage aus.

Ich habe nach einer Antwort ohne Erfolg gesucht. Ich bin mit OLE nicht ganz vertraut, mit Ausnahme von Wissen (für Excel) ist dies eine Möglichkeit, nicht-Tabellenkalkulationsinhalt in die Kalkulationstabelle aufzunehmen. Aber ich hätte nicht gedacht, dass das etwas mit dem Ausführen von WMI-Abfragen über VBA zu tun hatte? Kann mir jemand einen Schubs in die richtige Richtung geben?

1
Wenn Sie den gesamten Code bereitstellen, kann dies beim Debuggen helfen. Raystafarian vor 8 Jahren 0

0 Antworten auf die Frage