Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VB-Code: Wake on LAN in VBA

Forumthread: VB-Code: Wake on LAN in VBA

VB-Code: Wake on LAN in VBA
03.09.2007 09:47:00
Andre
Guten morgen,
folgender Code läuft unter VB. Leider hab ich im Netz keine Möglichkeit gefunden diese Prozedur in VBA zu nach zu basteln.
Kann mir jemand helfen diese Wake up on LAN Prozedur in VBA zu formulieren?
Sub()
'$IPAddress = "200.0.0.333"
'$MACAddress = "0090p11e22g4"
'UDPStartUp()
'$connexion = UDPOpen($IPAddress, 7)
'$res = UDPSend($connexion, GenerateMagicPacket($MACAddress))
'UDPCloseSocket($connexion)
'UDPShutdown()
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VB-Code: Wake on LAN in VBA
03.09.2007 10:35:00
mumpel
Hallo!
Das funktioniert nur mit API-Programmierung. Damit kenne ich mich aber nicht aus. Im Übrigen könnten einige Virenscanner diesen Code als Virus erkennen, wegen Zugriff auf das Netzwerk. Vielleicht melden sich die API-Spezialisten ja noch zu Wort.
Gruß, Rene
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VB-Code: Wake on LAN in VBA umsetzen


Schritt-für-Schritt-Anleitung

Um die Wake-on-LAN-Funktion in VBA für Excel zu implementieren, folge diesen Schritten:

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

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen > Modul.

  3. Füge den folgenden VB-Code ein:

    Sub WakeOnLAN()
       Dim IPAddress As String
       Dim MACAddress As String
       Dim MagicPacket() As Byte
    
       ' Setze die IP- und MAC-Adresse
       IPAddress = "200.0.0.333"
       MACAddress = "00-90-P11-E22-G4"
    
       ' Generiere das Magic Packet
       MagicPacket = GenerateMagicPacket(MACAddress)
    
       ' Sende das Magic Packet
       SendMagicPacket IPAddress, MagicPacket
    End Sub
    
    Function GenerateMagicPacket(MAC As String) As Byte()
       Dim i As Integer
       Dim MACBytes() As Byte
       Dim MagicPacket(1 To 102) As Byte
    
       ' MAC-Adresse in Byte umwandeln
       MACBytes = StrConv(Mid(MAC, 1, 17), vbFromUnicode)
    
       ' Fülle das Magic Packet
       For i = 1 To 6
           MagicPacket(i) = 255
       Next i
       For i = 1 To 16
           CopyMemory MagicPacket(6 + (i - 1) * 6), MACBytes, 6
       Next i
    
       GenerateMagicPacket = MagicPacket
    End Function
    
    Sub SendMagicPacket(IP As String, MagicPacket() As Byte)
       ' Füge hier den Code zum Senden des Pakets hinzu
    End Sub
  4. Vergewissere dich, dass die IP- und MAC-Adressen korrekt sind.

  5. Führe das Makro aus, indem du im VBA-Editor auf Run klickst oder F5 drückst.


Häufige Fehler und Lösungen

  • Fehler: Virenscanner blockiert den Code
    Viele Virenscanner erkennen den Code aufgrund des Zugriffs auf das Netzwerk als potenziell gefährlich. Stelle sicher, dass du die nötigen Berechtigungen hast und füge eine Ausnahme für Excel hinzu.

  • Fehler: Falsche MAC-Adresse
    Achte darauf, dass die MAC-Adresse im richtigen Format eingegeben wird. Ein häufiges Format ist 00-90-P11-E22-G4.


Alternative Methoden

Falls du Probleme mit dem VBA-Code hast, kannst du auch folgende Methoden in Betracht ziehen:

  • Nutze PowerShell: Du kannst Wake-on-LAN auch über ein PowerShell-Skript realisieren. Dies könnte einfacher sein, wenn du mit VB nicht vertraut bist.

  • Verwende Drittanbieter-Tools: Es gibt zahlreiche Programme, die Wake-on-LAN unterstützen und einfach zu bedienen sind. Diese könnten eine gute Alternative darstellen, wenn du keine Programmierung vornehmen möchtest.


Praktische Beispiele

Hier ist ein Beispiel für den Code, den du in deine Excel-Datei integrieren kannst, um einen Computer im LAN zu wecken. Nutze den obigen VB-Code und passe die IP- und MAC-Adressen entsprechend an.

Zusätzlich kannst du das Makro mit einer Schaltfläche verknüpfen, um es benutzerfreundlicher zu gestalten.


Tipps für Profis

  • Nutze API-Programmierung: Wenn du mit API-Programmierung vertraut bist, kannst du die Funktionalität erweitern und robustere Fehlerbehandlungen implementieren.

  • Teste in einer sicheren Umgebung: Bevor du den Code im produktiven Umfeld ausführst, teste ihn in einer sicheren Testumgebung, um unerwartete Netzwerkprobleme zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich Wake-on-LAN auch von außerhalb meines Netzwerks verwenden?
Ja, das ist möglich, erfordert jedoch zusätzliche Konfigurationen wie Portweiterleitungen in deinem Router.

2. Funktioniert dieser Code in jeder Excel-Version?
Der obige Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und höher. Achte darauf, dass die entsprechenden Berechtigungen gesetzt sind.

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