Visual Basic for Applications:
Працюємо з TOML
Як це зробити:
Робота з TOML у VBA передбачає парсинг файлу TOML для читання конфігурацій або налаштувань у ваш проєкт VBA. VBA не має вбудованої підтримки для TOML, тому зазвичай ви використовуватимете парсер або перетворюватимете дані TOML у формат, з яким VBA може легко працювати, наприклад, JSON або XML. Ось як вручну проаналізувати простий конфігураційний файл TOML:
- Приклад файлу TOML (
config.toml
):
title = "Приклад TOML"
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
- Код VBA для парсингу TOML:
Припустимо, що вміст TOML прочитано у змінну рядка tomlStr
, такий код VBA демонструє спрощений підхід для парсингу секції [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
'Приклад доступу до проаналізованих даних
Debug.Print "Сервер бази даних: "; config("database")("server")
End Function
- Приклад виводу (вікно негайних результатів):
Сервер бази даних: 192.168.1.1
Поглиблений огляд
Практичне прийняття TOML в спільноті розробників продемонструвало тенденцію до більш простих, читабельних файлів конфігурації, стоячи у контрасті з колись поширеним XML. Філософія дизайну TOML підкреслює чіткі семантичні правила і має за мету забезпечити простий парсинг з мінімальними витратами. У VBA робота з TOML безпосередньо передбачає ручний парсинг або використання зовнішніх інструментів для перетворення TOML у більш підходящий для VBA формат через відсутність нативної підтримки. Хоча цей метод ручного парсингу демонструє основний підхід, використання зовнішніх бібліотек або проміжних форматів, таких як JSON, може запропонувати більш надійні та помилково-стійкі стратегії парсингу. Враховуючи широке інтегрування VBA з Microsoft Office, перетворення TOML у JSON та використання нативних можливостей VBA для парсингу JSON (де це застосовно) або сторонніх парсерів JSON може забезпечити більш плавну роботу. Крім того, з постійним розвитком форматів серіалізації даних, програмісти також повинні розглядати YAML, який, як і TOML, наголошує на читабельності для людини, але пропонує інші компроміси з точки зору складності та гнучкості.