/ / VBA GetObject winmgmts funktioniert nicht nach Windows-Update - Excel, VBA, Excel-VBA, WMI

VBA GetObject winmgmts funktioniert nicht nach Windows-Update - Excel, VBA, Excel-VBA, WMI

Ich habe Excel VBA verwendet, um Desktopanmeldung, Abmeldezeit vom Ereignisprotokoll zu erhalten. Das Programm hat gut funktioniert, bis Windows letzte Woche aktualisiert wurde.

Nach dem Debugging habe ich herausgefunden, dass GetObject Funktion hat nicht funktioniert.

Sub get_log_time()
On Error GoTo ErrorHandler

"strComputer = ComputerName
strComputer = "."

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")
Set colLoggedEvents = objWMIService.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = "System" and  (EventCode = "7001" or  EventCode = "7002")")

ErrorHandler:
If Err.Number <> 0 Then
Msg = "Error # " & Str(Err.Number) & " was generated by " _
& Err.Source & Chr(13) & "Error Line: " & Erl & Chr(13) & Err.Description
MsgBox Msg, , "Error", Err.HelpFile, Err.HelpContext
End If
Resume Next
End Sub

Die Fehlermeldung lautete: "Error # -2147221020 wurde von VBAProject generiert. Fehler Zeile: 0. Automatisierungsfehler. Ungültige Syntax".

Ich konnte nicht herausfinden, warum das passiert und wie ich es beheben kann.

Zusätzliche Information:

  • Ich verwende Windows 10, Excel 2016 MSO (16.0.4549.1000) 32 Bit

  • Ich habe den Code in späte Bindung geändert, aber es funktioniert immer noch nicht.

  • Referenzeinstellung: Microsoft Excel 16.0-Objektbibliothek, Microsoft Office 16.0-Objektbibliothek

Antworten:

3 für die Antwort № 1

Das gleiche Problem hier, nur mit MS Access 2016 32 Bit. Auch in Wort getestet. Scheint sich auf alle Office-Anwendungen auszuwirken. Ich leite Office 32 Bit unter Windows 10 64 Bit.

Ich hoffe, dass jemand herausfinden kann, was genau hier passiert ist. Dieser Code hat früher gut funktioniert.

EDIT: Der Täter scheint Update KB4011051 zu sein, nach der Deinstallation verschwindet der Fehler. Ich schaue hinein, um zu sehen, ob ich herausfinden kann, ob das ein Entwurf oder ein Fehler ist.