WMIC - Informationen per Shell - und mehr...

Frage: Letzte Nachfrage - Internetexplorer Fenster schließen. Wenn alle Internetexplorer Fenster (nicht wie gestern bestimmte) geschlossen werden sollen - geht das dann einfacher? Ja - wenn WMI (Windows Management Instrumentation) geht (Firmennetz, Rechte) funktioniert das mit nur einer Zeile Code.

Zusätzlich noch einige Codes mit Infos über das Betriebssystem oder das Bios.

Und es wird gezeigt wie auf "Shell" bis zum beenden gewartet wird.

Die Informationen werden im VBA-Editor Direktfenster ausgegeben (STRG+G bzw. CTRL+G).

Final demand - close Internet Explorer windows. If all Internet Explorer windows (not certain as yesterday) will be closed - that's easier then? Yes - if WMI (Windows Management Instrumentation) is working (Corporate network, Rights), it works with only one line of code.

Additionally, some codes with information about the operating system or the BIOS.

And it is shown how to "shell" will wait until the end.

The information is displayed in the VBA Editor Immediate Window (Ctrl+G or CTRL+G).

Hier noch eine Beispieldatei / Here's a sample file:
WMIC - Informationen per Shell - und mehr...[XLS 50 KB]

Hier noch ein paar Links zum Thema / Here are a few links:
Wenn die Links nicht mehr erreichbar sind, einfach nach "wmic" in einer Suchmaschine suchen.
If the links are no longer available, simply search for "wmic" in a search engine.

WMI 1...
WMI 2...
WMI 3...
WMI 4...

'--------------------------------------------------------------------------
' Module    : Module1
' Author    : Case (Ralf Stolzenburg)
' Date      : 17.04.2013
' Purpose   : WMIC - Beispiele Shell diverse Informationen ausgeben...
'--------------------------------------------------------------------------
Option Explicit
' Alle Internetexplorerfenster schliessen nach Name
Sub Main()
    Shell "wmic Process where ""name='iexplore.exe'"" call terminate", vbHide
End Sub
' Alle Internetexplorerfenster schliessen mit LIKE
Sub Main_1()
    Shell "wmic Process where ""name like '%iexplo%'"" call terminate", vbHide
End Sub
' Informationen über die angeschlossenen Laufwerke
Sub Main_2()
    ShellAndWait "wmic /output:clipboard logicaldisk get name,volumename,filesystem"
    Debug.Print fncCPRead()
End Sub
' Informationen über das Bios
Sub Main_3()
    ShellAndWait "wmic /output:clipboard bios list full"
    Debug.Print fncCPRead()
End Sub
' Bestimmte Informationen vom Bios (Hersteller und Seriennummer)
Sub Main_4()
    ShellAndWait "wmic /output:clipboard bios get manufacturer,serialnumber"
    Debug.Print fncCPRead()
End Sub
' Informationen über die angelegten Benutzerkonten
Sub Main_5()
    ShellAndWait "wmic /output:clipboard useraccount get /value"
    Debug.Print fncCPRead()
End Sub
' Informationen über laufende Anwendungen die NICHT im Windowspfad sind
Sub Main_6()
    ShellAndWait "wmic /output:clipboard PROCESS WHERE " & _
        """NOT ExecutablePath LIKE '%Windows%'"" GET ExecutablePath"
    Debug.Print fncCPRead()
End Sub
' Informationen über die Startvorgänge
Sub Main_7()
    ShellAndWait "wmic /output:clipboard startup list full"
    Debug.Print fncCPRead()
End Sub
' Informationen über das Betriebssystem formatiert ausgeben
Sub Main_8()
    ShellAndWait "wmic /output:clipboard os get /value /format:htable"
    Call fncCPRead
    With Sheet1
        .Cells(1, 1).PasteSpecial
        .Cells.WrapText = False
        .Columns.EntireColumn.AutoFit
    End With
End Sub
' Informationen über die Prozesse formatiert ausgeben
Sub Main_9()
    ShellAndWait "wmic /output:clipboard process get /value /format:htable"
    Call fncCPRead
    With Sheet1
        .Cells(1, 1).PasteSpecial
        .Cells.WrapText = False
        .Columns.EntireColumn.AutoFit
    End With
End Sub
Public Sub Main_IE()
    ' NUR zum testen. Der IE wird viermal aufgerufen
    ' Dreimal mit meiner Blogseite und einmal mit einem Excelforum
    On Error GoTo Fin
    Call IE_Run("http://vbanet.blogspot.de/")
    Call IE_Run("http://vbanet.blogspot.de/")
    Call IE_Run("http://vbanet.blogspot.de/")
    Call IE_Run("http://www.herber.de/forum/")
Fin:
    If Err.Number <> 0 Then MsgBox "Error: " & _
        Err.Number & " " & Err.Description
End Sub
'--------------------------------------------------------------------------
' Module    : Module1
' Procedure : IE_Run
' Author    : Case (Ralf Stolzenburg)
' Date      : 17.04.2013
' Purpose   : Internetexplorer mit bestimmten Seiten starten...
'--------------------------------------------------------------------------
Private Sub IE_Run(ByVal strAddress As String)
    Dim objIEApp As Object
    Set objIEApp = CreateObject("InternetExplorer.Application")
    With objIEApp
        .Navigate strAddress
        Do: Loop Until .Busy = False
        Do: Loop Until .Busy = False
        .Visible = True
    End With
    Set objIEApp = Nothing
End Sub
'--------------------------------------------------------------------------
' Module    : Module1
' Procedure : fncCPRead
' Author    : Case (Ralf Stolzenburg)
' Date      : 17.04.2013
' Purpose   : Zwischenablage auslesen...
'--------------------------------------------------------------------------
Private Function fncCPRead() As String
    Dim objIEApp As Object
    Dim strClipB As String
    Set objIEApp = CreateObject("HTMLfile")
    strClipB = objIEApp.ParentWindow.ClipboardData.GetData("text")
    fncCPRead = strClipB
    Set objIEApp = Nothing
End Function
'--------------------------------------------------------------------------
' Module    : Module1
' Procedure : ShellAndWait
' Author    : Case (Ralf Stolzenburg)
' Date      : 17.04.2013
' Purpose   : ShellAndWait mit ausgeblendetem Dosfenster...
'--------------------------------------------------------------------------
Private Sub ShellAndWait(ByVal strPathName As String)
   Dim WshShell As Object
   On Error GoTo Fin
   Set WshShell = CreateObject("WScript.Shell")
   WshShell.Run strPathName, 0, True
Fin:
   Set WshShell = Nothing
   If Err.Number <> 0 Then MsgBox "Error: " & _
       Err.Number & " " & Err.Description
End Sub

Beliebte Posts aus diesem Blog

Formeln - auch Array - per VBA eintragen...

Alle Dateien eines Ordners - Optional mit Unterordner

Excel -> Word in Textmarken (Bookmarks)...