AllMacros 集合包含 CurrentProject 或 CodeProject 對(duì)象中每個(gè)宏的 AccessObject 對(duì)象。
CurrentProject 或 CodeProject 對(duì)象具有一個(gè) AllMacros 集合,其中包含描述數(shù)據(jù)庫(kù)中所有宏的實(shí)例的 AccessObject 對(duì)象。例如,可以在 Visual Basic 中列舉 AllMacros 集合來設(shè)置或返回該集合中單個(gè) AccessObject 對(duì)象的屬性值。
可以引用 AllMacros 集合中的單個(gè) AccessObject 對(duì)象,方法是:按照名稱引用對(duì)象,或引用集合中對(duì)象的索引。如果要引用 AllMacros 集合中特定的對(duì)象,最好按照名稱引用宏,因?yàn)楹甑募纤饕赡軙?huì)更改。
AllMacros 集合的索引是從零開始的。如果通過索引來引用宏,則第一個(gè)宏是 AllMacros(0),第二個(gè)宏是 AllMacros(1),依此類推。
注釋 若要列出數(shù)據(jù)庫(kù)中所有打開的宏,可使用 AllMacros 集合中每個(gè) AccessObject 對(duì)象的 IsLoaded 屬性。然后,可使用每個(gè)單獨(dú)的 AccessObject 對(duì)象的 Name 屬性返回宏的名稱。
無法在 AllMacros 集合中添加或刪除 AccessObject 對(duì)象。
下面的示例將打印 AllMacros 集合中每個(gè)打開的 AccessObject 對(duì)象的名稱。
Sub AllMacros()
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
' Search for open AccessObject objects in AllMacros collection.
For Each obj In dbs.AllMacros
If obj.IsLoaded = True Then
' Print name of obj.
Debug.Print obj.Name
End If
Next obj
End Sub