Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shutdown

Forumthread: Shutdown

Shutdown
13.10.2017 20:19:59
Marco
Hallo liebe Helfenden,
ich habe schon viel gegoogelt bzw. hier im Archiv gestöbert. Aber jeder Code den ich gefunden habe, lief unter Windows 10 nicht.
Ich möchte gern einmal am Tag per vba den PC neustarten. Dies ist notwenig, da die einzelnen Makros und Programme die im Laufe des Tages auf dem MiniPC laufen, den Arbeitsspeicher verstopfen. Das einmal am Tag ist ja kein Problem. Aber ich finde keinen Herunterfahren/Neustarten Code.
Kann mir jemand weiterhelfen?
Ich freue mich auf Eure Antwort.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shutdown
13.10.2017 20:54:12
Nepumuk
Hallo Marco,
folgender Code läuft auch unter Windows 10:
Option Explicit

Public Sub NeuStart()
    Dim objWMI As Object, objItem As Object
    Set objWMI = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery( _
        "SELECT * FROM Win32_OperatingSystem WHERE Primary=true")
    For Each objItem In objWMI
        Call objItem.Reboot
    Next
End Sub

Gruß
Nepumuk
Anzeige
Shutdown
13.10.2017 21:27:01
Marco
Hallo Neupumuk,
vielen lieben Dank. Es klappt!!!
Viele Grüße
;
Anzeige

Infobox / Tutorial

PC per VBA neu starten: Anleitung für Windows 10


Schritt-für-Schritt-Anleitung

Um deinen PC mit VBA unter Windows 10 einmal am Tag neu zu starten, kannst du folgendes Vorgehen nutzen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:

    Option Explicit
    
    Public Sub NeuStart()
        Dim objWMI As Object, objItem As Object
        Set objWMI = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery( _
            "SELECT * FROM Win32_OperatingSystem WHERE Primary=true")
        For Each objItem In objWMI
            Call objItem.Reboot
        Next
    End Sub
  4. Speichere das Modul und schließe den VBA-Editor.

  5. Führe das Makro aus, um den Neustart zu testen. Du kannst dies manuell tun oder es in eine geplante Aufgabe einfügen, um es automatisch täglich auszuführen.


Häufige Fehler und Lösungen

  1. Fehler: "Zugriff verweigert"

    • Lösung: Stelle sicher, dass du Excel mit Administratorrechten ausführst. Rechtsklicke auf das Excel-Symbol und wähle Als Administrator ausführen.
  2. Fehler: Makro funktioniert nicht

    • Lösung: Stelle sicher, dass die Makros in den Excel-Optionen aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und wähle die entsprechende Option.

Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, gibt es auch andere Möglichkeiten, deinen PC unter Windows 10 neu zu starten:

  • Geplante Aufgaben: Du kannst den Windows Task Scheduler verwenden, um eine geplante Aufgabe zu erstellen, die ein Neustartszenario durchführt.
  • Batch-Dateien: Erstelle eine Batch-Datei mit folgendem Inhalt und führe sie aus:

    shutdown /r /t 0

Praktische Beispiele

Hier sind einige Beispiele, wie du VBA in Kombination mit Excel verwenden kannst:

  • Täglicher Neustart um 2 Uhr nachts:

    • Stelle eine geplante Aufgabe im Task Scheduler ein, die das Makro täglich um 2 Uhr ausführt.
  • Neustart nach bestimmten Bedingungen:

    • Du kannst den Code erweitern, um den Neustart nur auszulösen, wenn bestimmte Bedingungen in deinen Excel-Daten erfüllt sind.

Tipps für Profis

  • Fehlerprotokollierung: Füge eine Fehlerprotokollierung in dein Makro ein, um Probleme besser identifizieren zu können.

    On Error GoTo ErrorHandler
    ' Dein Code hier
    Exit Sub
    
    ErrorHandler:
      MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Verwende Kommentare: Kommentiere deinen Code gut, damit du und andere Benutzer später verstehen, was jeder Teil des Codes bewirken soll.


FAQ: Häufige Fragen

1. Frage
Wie oft kann ich das Makro ausführen?
Das Makro kann beliebig oft ausgeführt werden, jedoch ist ein täglicher Neustart empfehlenswert, um die Leistung zu optimieren.

2. Frage
Was mache ich, wenn der Neustart nicht funktioniert?
Überprüfe, ob du die richtigen Berechtigungen hast und dass die WMI-Dienste auf deinem PC aktiv sind. Stelle auch sicher, dass dein Code keine Syntaxfehler aufweist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige