Next: 3.5.2 The Connection Point
Up: 3.5 Other Objects
Previous: 3.5 Other Objects
  Contents
This object is a proxy for a COM object that implements the
IEnumVARIANT interface. It translates the calls made to fields
of the table to method calls using that interface. Enumerators arise
often when dealing with collections. To obtain an enumerator for a
collection, use the Lua API method GetEnumerator. Example:
--
-- Sample use of enumerators
--
-- Gets an instance
word = luacom.GetObject("Word.Application")
-- Gets an enumerator for the Documents collection
docs_enum = luacom.GetEnumerator(word.Documents)
-- Prints the names of all open documents
doc = docs_enum:Next()
while doc do
print(doc.Name)
doc = docs_enum:Next()
end
The Extended Lua API method pairs allows the traversal of the
enumeration using Lua's for statement. The sample above can be
rewritten this way:
--
-- Sample use of enumerators
--
-- Gets an instance
word = luacom.GetObject("Word.Application")
-- Prints the names of all open documents
for index, doc in luacom.pairs(word.Documents) do
print(doc.Name)
end
Fabio Mascarenhas de Queiroz
2005-06-06