Visual Basic for Applications:
การใช้แอเรย์สมาชิก
วิธีการ:
ใน VBA, วัตถุ Dictionary
ให้ฟังก์ชันการทำงานที่คล้ายกับอาร์เรย์แบบสหสัมพันธ์ คุณต้องเพิ่มการอ้างอิงถึง Microsoft Scripting Runtime เพื่อใช้งาน:
- ในตัวแก้ไข VBA, ไปที่ Tools > References…
- ตรวจสอบ “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
ยังคงเป็นวิธีการที่มีพลังและเกี่ยวข้องสำหรับโครงสร้างข้อมูลแบบอาร์เรย์สหสัมพันธ์