Visual Basic for Applications:
Trabalhando com TOML

Como fazer:

Trabalhar com TOML no VBA envolve analisar o arquivo TOML para ler configurações ou definições no seu projeto VBA. O VBA não tem suporte nativo para TOML, então normalmente você usaria um analisador ou converteria os dados TOML para um formato que o VBA possa trabalhar facilmente, como JSON ou XML. Aqui está como analisar manualmente um arquivo de configuração TOML simples:

  1. Arquivo TOML de Exemplo (config.toml):
title = "TOML Example"

[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
  1. Código VBA para Analisar TOML:

Assumindo que o conteúdo TOML seja lido em uma variável de string tomlStr, o seguinte código VBA demonstra uma abordagem simplista para analisar a seção [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
    
    'Exemplo para acessar dados analisados
    Debug.Print "Database Server: "; config("database")("server")
End Function
  1. Saída de Exemplo (Janela Imediata):
Database Server: 192.168.1.1

Aprofundamento

A aceitação prática do TOML na comunidade de desenvolvedores mostra uma tendência para arquivos de configuração mais simples e legíveis para humanos, em contraste com o anteriormente prevalente XML. A filosofia de design do TOML enfatiza semânticas claras e visa uma análise direta com o mínimo de sobrecarga. No VBA, lidar diretamente com TOML envolve análise manual ou o aproveitamento de ferramentas externas para converter TOML em um formato mais amigável para o VBA, devido à falta de suporte nativo. Embora este método de análise manual mostre uma abordagem fundamental, a utilização de bibliotecas externas ou formatos intermediários como JSON pode oferecer estratégias de análise mais robustas e resistentes a erros. Dada a integração extensiva do VBA com o Microsoft Office, converter TOML para JSON e usar as capacidades nativas de análise de JSON do VBA (quando aplicável) ou analisadores de JSON de terceiros poderia proporcionar um fluxo de trabalho mais simplificado. Além disso, com a evolução contínua dos formatos de serialização de dados, os programadores também deveriam considerar YAML, que, como o TOML, enfatiza a legibilidade humana, mas oferece diferentes compensações em termos de complexidade e flexibilidade.