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

Checksumme prüfen mit VBA ?

Forumthread: Checksumme prüfen mit VBA ?

Checksumme prüfen mit VBA ?
24.05.2004 10:33:13
Ben
Hallo Leute,
gibt es eine Möglichkeit, die Prüfsumme (checksum) von Dateien mit VBA zu ermitteln und zu vergleichen?
Falls ja, wie geht das?
Für Hinweise zu diesem Problem wäre ich Euch sehr dankbar!
Viele Grüße und eine erfolgreiche Woche!
Ben.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checksumme prüfen mit VBA ?
Oberschlumpf
Hi Ben
Schau Dir mal diesen Link an
http://vb-tec.de/crc.htm
Oder gib in einer Suchmaschine (z Bsp www.metager.de) den Suchtext "vb prüfsumme" ein.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
;
Anzeige

Infobox / Tutorial

Prüfen von Checksummen in Excel mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und aktiviere die Entwicklertools:

    • Gehe zu "Datei" -> "Optionen" -> "Menüband anpassen".
    • Aktiviere die Entwicklertools.
  2. Öffne den VBA-Editor:

    • Klicke auf "Entwicklertools" und dann auf "Visual Basic".
  3. Füge ein neues Modul hinzu:

    • Rechtsklicke auf "VBAProject (DeineDatei.xlsx)" -> "Einfügen" -> "Modul".
  4. Füge den folgenden Code ein:

    Function GetChecksum(filePath As String) As String
       Dim fileStream As Object
       Dim bytes() As Byte
       Dim i As Long
       Dim checksum As Long
    
       Set fileStream = CreateObject("ADODB.Stream")
       fileStream.Type = 1 'Binary
       fileStream.Open
       fileStream.LoadFromFile filePath
       bytes = fileStream.Read
       fileStream.Close
    
       For i = LBound(bytes) To UBound(bytes)
           checksum = (checksum + bytes(i)) Mod 256
       Next i
    
       GetChecksum = Hex(checksum)
    End Function
  5. Verwende die Funktion in Excel:

    • Du kannst die Funktion =GetChecksum("Pfad\zur\Datei") in einer Zelle verwenden, um die Prüfziffer zu ermitteln.

Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"
    Lösung: Stelle sicher, dass der Pfad zur Datei korrekt ist und die Datei existiert.

  • Fehler: "Typ nicht definiert"
    Lösung: Achte darauf, dass die Referenz für "Microsoft ActiveX Data Objects" aktiviert ist. Gehe dazu auf "Extras" -> "Verweise" und aktiviere die entsprechende Option.


Alternative Methoden

Eine alternative Methode zur Berechnung von Checksummen in Excel ist die Verwendung von Excel-Formeln oder Add-Ins. Du kannst auch das CRC8-Verfahren in einem VBA-Skript implementieren, um genauere Checksummen zu erhalten. Hier ist ein einfaches Beispiel für die Berechnung einer CRC8-Prüfziffer:

Function CRC8(data As String) As Byte
    Dim crc As Byte
    Dim i As Integer

    crc = 0
    For i = 1 To Len(data)
        crc = crc Xor Asc(Mid(data, i, 1))
    Next i

    CRC8 = crc
End Function

Praktische Beispiele

  1. Prüfziffer einer Textdatei ermitteln: Verwende die Funktion GetChecksum und übergebe den Pfad zu einer Textdatei, um die Prüfziffer zu erhalten.

    =GetChecksum("C:\Beispiel\datei.txt")
  2. Verwendung der CRC8-Funktion: Berechne die CRC8-Prüfziffer für einen String:

    =CRC8("Teststring")

Tipps für Profis

  • Nutze die Möglichkeit, die Prüfziffer direkt in Excel zu vergleichen, indem du die berechnete Prüfziffer mit einer bekannten Prüfziffer in einer anderen Zelle vergleichst.
  • Experimentiere mit verschiedenen Datenformaten und -typen, um die Robustheit deiner Checksummen-Methoden zu testen.
  • Setze Debugging-Tools in VBA ein, um die Effizienz deiner Funktionen zu überprüfen und zu optimieren.

FAQ: Häufige Fragen

1. Wie kann ich eine Prüfziffer für eine große Datei berechnen?
Verwende die GetChecksum-Funktion, um den Pfad zur großen Datei anzugeben. Beachte, dass die Berechnung je nach Dateigröße länger dauern kann.

2. Ist es möglich, die Prüfziffer für mehrere Dateien gleichzeitig zu berechnen?
Ja, du kannst eine Schleife in VBA verwenden, um die GetChecksum-Funktion für mehrere Dateien in einem Verzeichnis aufzurufen und die Ergebnisse in einem Array oder einer Excel-Tabelle zu speichern.

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