Visual Basic for Applications:
การทำงานร่วมกับ TOML

วิธีทำ:

การทำงานกับ TOML ใน VBA มีขั้นตอนในการแยกวิเคราะห์ไฟล์ TOML เพื่ออ่านค่าการกำหนดค่าหรือการตั้งค่าเข้าสู่โปรเจกต์ VBA ของคุณ VBA ไม่มีการสนับสนุน TOML โดยตรง ดังนั้นคุณจะต้องแยกวิเคราะห์หรือแปลงข้อมูล TOML เป็นรูปแบบที่ VBA สามารถทำงานกับได้ง่าย เช่น JSON หรือ XML นี่คือวิธีการแยกวิเคราะห์ไฟล์การกำหนดค่า TOML ง่ายๆ ด้วยตนเอง:

  1. ไฟล์ TOML ตัวอย่าง (config.toml):
title = "TOML Example"

[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
  1. โค้ด 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 "Database Server: "; config("database")("server")
End Function
  1. ผลลัพธ์ตัวอย่าง (Immediate Window):
Database Server: 192.168.1.1

การศึกษาลึกลงไป

การยอมรับของ TOML ในชุมชนนักพัฒนาแสดงถึงแนวโน้มที่เป็นที่นิยมมากขึ้นของไฟล์การกำหนดค่าที่เรียบง่ายและอ่านได้ง่ายขึ้น เมื่อเทียบกับ XML ที่เคยแพร่หลายก่อนหน้านี้ TOML ถูกออกแบบมาเน้นที่ความชัดเจนของคำสั่งและมีเป้าหมายเพื่อให้การแยกวิเคราะห์ที่ตรงไปตรงมาด้วยการใช้ทรัพยากรน้อยที่สุด ใน VBA, การจัดการกับ TOML โดยตรงเกี่ยวข้องกับการแยกวิเคราะห์ด้วยมือหรือใช้เครื่องมือภายนอกเพื่อแปลง TOML เป็นรูปแบบที่เอื้อต่อ VBA เนื่องจากไม่มีการสนับสนุนโดยตรง แม้ว่าวิธีการแยกวิเคราะห์ด้วยมือนี้จะแสดงวิธีการพื้นฐาน การใช้ไลบรารีภายนอกหรือรูปแบบกลางเช่น JSON อาจเสนอกลยุทธ์การแยกวิเคราะห์ที่แข็งแกร่งและป้องกันข้อผิดพลาดได้มากขึ้น ด้วยการผสานรวมอย่างกว้างขวางของ VBA กับ Microsoft Office, การเปลี่ยน TOML เป็น JSON และการใช้ความสามารถในการแยกวิเคราะห์ JSON ของ VBA (ในกรณีที่เกี่ยวข้อง) หรือไลบรารี JSON ของบุคคลที่สามอาจให้กระบวนการทำงานที่ราบรื่นมากขึ้น นอกจากนี้ ด้วยการพัฒนาต่อเนื่องของรูปแบบการซีเรียลไลซ์ข้อมูล โปรแกรมเมอร์ควรพิจารณาถึง YAML ที่เหมือนกับ TOML ซึ่งเน้นที่ความสามารถในการอ่านของมนุษย์แต่เสนอการแลกเปลี่ยนที่แตกต่างกันในแง่ของความซับซ้อนและความยืดหยุ่น