Visual Basic for Applications:
การใช้แอเรย์สมาชิก

วิธีการ:

ใน VBA, วัตถุ Dictionary ให้ฟังก์ชันการทำงานที่คล้ายกับอาร์เรย์แบบสหสัมพันธ์ คุณต้องเพิ่มการอ้างอิงถึง Microsoft Scripting Runtime เพื่อใช้งาน:

  1. ในตัวแก้ไข VBA, ไปที่ Tools > References…
  2. ตรวจสอบ “Microsoft Scripting Runtime” แล้วคลิก OK

นี่คือวิธีการประกาศ, เติมข้อมูล, และเข้าถึงอิเท็มใน Dictionary:

Dim sampleDictionary As Dictionary
Set sampleDictionary = New Dictionary

' เพิ่มอิเท็ม
sampleDictionary.Add Key:="Name", Item:="John Doe"
sampleDictionary.Add Key:="Age", Item:=29
sampleDictionary.Add Key:="Occupation", Item:="Engineer"

' การเข้าถึงอิเท็ม
Debug.Print sampleDictionary.Item("Name")  ' ผลลัพธ์: John Doe
Debug.Print sampleDictionary.Item("Age")   ' ผลลัพธ์: 29

' การตรวจสอบว่ามีคีย์อยู่หรือไม่
If sampleDictionary.Exists("Occupation") Then
    Debug.Print "Occupation Key Exists"
End If

' การลบอิเท็ม
sampleDictionary.Remove("Occupation")

' การวนรอบไดค์ชันนารี
For Each Key In sampleDictionary.Keys
    Debug.Print Key & ": " & sampleDictionary.Item(Key)
Next Key

แง่ลึก

วัตถุ Dictionary ทำงานร่วมกับส่วนประกอบของ Windows Scripting Host ในลักษณะเดียวกัน ดังนั้น มันเป็นวัตถุ COM ที่เชื่อมโยงช้า ซึ่งเป็นวิธีทั่วไปในการขยายฟังก์ชันการทำงานของ VBA ในอดีต การใช้งานของมันใน VBA สามารถเพิ่มความสามารถของภาษาในการจัดการชุดข้อมูลที่ซับซ้อนโดยไม่ต้องบังคับให้มีโครงสร้างที่แข็งกระด้าง เช่นเดียวกับในอาร์เรย์แบบดั้งเดิมหรือช่วงของ Excel

ข้อจำกัดหนึ่งที่ควรจำไว้คือ การเข้าถึง Dictionary ต้องมีการตั้งค่าการอ้างอิงถึง Microsoft Scripting Runtime ซึ่งอาจทำให้การแจกจ่ายโปรเจกต์ VBA ของคุณซับซ้อนขึ้น ตัวเลือกอื่น ๆ เช่น Collections มีอยู่ภายใน VBA แต่ขาดคุณสมบัติบางอย่างของ Dictionary เช่น ความสามารถในการตรวจสอบการมีอยู่ของคีย์โดยไม่ทำให้เกิดข้อผิดพลาด

ในบริบทการเขียนโปรแกรมล่าสุด ภาษาอย่าง Python ให้การสนับสนุนฟีเจอร์อาร์เรย์แบบสหสัมพันธ์ (รู้จักในชื่อ dictionaries ใน Python เช่นกัน) โดยไม่ต้องเพิ่มการอ้างอิงภายนอก การสนับสนุนนี้ทำให้กระบวนการง่ายขึ้นและเสนอคุณสมบัติขั้นสูงออกมาจากกล่อง อย่างไรก็ตาม ในขอบเขตของ VBA และสำหรับแอปพลิเคชั่นที่เฉพาะเจาะจงเพื่อการทำงานอัตโนมัติในชุด Microsoft Office การใช้วัตถุ Dictionary ยังคงเป็นวิธีการที่มีพลังและเกี่ยวข้องสำหรับโครงสร้างข้อมูลแบบอาร์เรย์สหสัมพันธ์