Visual Basic for Applications:
Arbeiten mit TOML
Wie:
Die Arbeit mit TOML in VBA beinhaltet das Parsen der TOML-Datei, um Konfigurationen oder Einstellungen in Ihr VBA-Projekt zu lesen. VBA hat keine integrierte Unterstützung für TOML, daher verwenden Sie normalerweise einen Parser oder konvertieren TOML-Daten in ein Format, mit dem VBA leicht arbeiten kann, wie JSON oder XML. So parsen Sie manuell eine einfache TOML-Konfigurationsdatei:
- Beispiel-TOML-Datei (
config.toml
):
title = "TOML-Beispiel"
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
- VBA-Code zum Parsen von TOML:
Es wird angenommen, dass der TOML-Inhalt in eine String-Variable tomlStr
gelesen wird. Der folgende VBA-Code zeigt einen simplen Ansatz zum Parsen des Abschnitts [database]
:
Function ParseTOML(tomlStr As String)
Dim lines() As String
lines = Split(tomlStr, vbCrLf)
Dim config As Object
Set config = CreateObject("Scripting.Dictionary")
Dim currentSection As String
currentSection = ""
Dim i As Integer
For i = 0 To UBound(lines)
Dim line As String
line = Trim(lines(i))
If InStr(line, "[") > 0 And InStr(line, "]") > 0 Then
currentSection = Mid(line, 2, Len(line) - 2)
Set config(currentSection) = CreateObject("Scripting.Dictionary")
ElseIf InStr(line, "=") > 0 Then
Dim parts() As String
parts = Split(line, "=")
Dim key As String
key = Trim(parts(0))
Dim value As String
value = Trim(parts(1))
config(currentSection)(key) = value
End If
Next i
'Beispiel für den Zugriff auf geparste Daten
Debug.Print "Datenbankserver: "; config("database")("server")
End Function
- Beispielausgabe (Sofortfenster):
Datenbankserver: 192.168.1.1
Vertiefende Betrachtung
Die praktische Akzeptanz von TOML in der Entwicklergemeinschaft zeigt einen Trend zu einfacheren, menschenlesbareren Konfigurationsdateien auf, im Gegensatz zu den früher vorherrschenden XML. TOMLs Designphilosophie betont klare Semantik und zielt auf einfaches Parsen mit minimalem Overhead ab. In VBA erfordert der direkte Umgang mit TOML das manuelle Parsen oder den Einsatz externer Werkzeuge zur Konvertierung von TOML in ein VBA-freundlicheres Format aufgrund fehlender nativer Unterstützung. Obwohl diese manuelle Parsmethode einen grundlegenden Ansatz darstellt, könnten der Einsatz externer Bibliotheken oder Zwischenformate wie JSON robustere und fehlerresistentere Parsstrategien bieten. Angesichts der umfangreichen Integration von VBA mit Microsoft Office könnte die Umwandlung von TOML in JSON und die Verwendung der nativen JSON-Parsing-Fähigkeiten von VBA (wo anwendbar) oder von Drittanbieter-JSON-Parsen einen effizienteren Workflow bieten. Darüber hinaus sollten Programmierer mit der kontinuierlichen Entwicklung von Daten-Serialisierungsformaten auch YAML in Betracht ziehen, das wie TOML die Lesbarkeit für Menschen betont, aber verschiedene Kompromisse in Bezug auf Komplexität und Flexibilität bietet.