Dalam sebuah code module (editor tempat kita menulis kode di VB6), maka berapapun banyaknya kode yang kita tulis (puluhan baris sampai puluhan ribu baris), kode tersebut dapat diklasifikasikan menjadi lima unsur saja, Adapun yang kelima unsur tersebut, diantaranya:
- Variable
- Constanta
- Method (Sub, Function, Event Procedure)
- Events
- dan terakhir Property.
Dari kelima di atas, maka semuanya memiliki scope (jangkauan akses), adapun scope hanya ada 3 saja (berapapun banyaknya kode yang kita tulis), berturut-turut:
- Private
- Public
- Friend
Jadi, jika bukan private maka public atau friend, jika bukan public maka private atau friend, dst. Untuk membuktikannya, buatlah project Add-ins, tambahkan satu ListBox (dengan nama default saja List1)
Public VBInstance As VBIDE.VBE
Public Connect As Connect
Option Explicit
Private Sub OKButton_Click()
EnumAllMembers
End Sub
Private Function EnumAllMembers()
Dim m As Member
Dim t As String
List1.Clear
For Each m In VBInstance.SelectedVBComponent.CodeModule.Members
Select Case m.Type
Case vbext_MemberType.vbext_mt_Const
t = "Constanta"
Case vbext_MemberType.vbext_mt_Event
t = "Event"
Case vbext_MemberType.vbext_mt_Method
t = "Method"
Case vbext_MemberType.vbext_mt_Property
t = "Property"
Case vbext_MemberType.vbext_mt_Variable
t = "Variable"
End Select
List1.AddItem "Nama: " & m.Name & vbTab & vbTab & "Type: " & t & vbTab & vbTab & "Scope: " & m.Scope
Next
End Function
Walaupun kode di atas tampak sederhana, akan tetapi ia akan sangat berguna, kira-kira untuk apa?