Win32::OLE::Enum - OLE Automation Collection Objects

- NAME
- SYNOPSIS
- DESCRIPTION

- Functions/Methods

- AUTHORS/COPYRIGHT

# NAME

Win32::OLE::Enum - OLE Automation Collection Objects

# SYNOPSIS

        my $Sheets = $Excel->Workbooks(1)->Worksheets;
        my $Enum = Win32::OLE::Enum->new($Sheets);
        my @Sheets = $Enum->All;

        while (defined(my $Sheet = $Enum->Next)) { ... }

# DESCRIPTION

This module provides an interface to OLE collection objects from Perl. It defines an enumerator object closely mirroring the functionality of the IEnumVARIANT interface.

Please note that the `Reset()` method is not available in all implementations of OLE collections (like Excel 7). In that case the Enum object is good only for a single walk through of the collection.

## Functions/Methods

Win32::OLE::Enum->`new($object)`
  Creates an enumerator for $object, which must be a valid OLE collection object. Note that correctly implemented collection objects must support the `Count` and `Item` methods, so creating an enumerator is not always necessary.

$Enum->`All()`
  Returns a list of all objects in the collection. You have to call $Enum->`Reset()` before the enumerator can be used again. The previous position in the collection is lost.

  This method can also be called as a class method:

              my @list = Win32::OLE::Enum->All($Collection);

$Enum->`Clone()`
  Returns a clone of the enumerator maintaining the current position within the collection (if possible). Note that the `Clone` method is often not implemented. Use $Enum->`Clone()` in an eval block to avoid dying if you are not sure that Clone is supported.

$Enum->Next( [$count] )
  Returns the next element of the collection. In a list context the optional $count argument specifies the number of objects to be returned. In a scalar context only the last of at most $count retrieved objects is returned. The default for $count is 1.

$Enum->`Reset()`
  Resets the enumeration sequence to the beginning. There is no guarantee that the exact same set of objects will be enumerated again (e.g. when enumerating files in a directory). The methods return value indicates the success of the operation. (Note that the `Reset()` method seems to be unimplemented in some applications like Excel 7. Use it in an eval block to avoid dying.)

$Enum->Skip( [$count] )
  Skip the next $count elements of the enumeration. The default for $count is 1. The functions returns TRUE if at least $count elements could be skipped. It returns FALSE if not enough elements were left.

# AUTHORS/COPYRIGHT

This module is part of the Win32::OLE distribution.

Win32::OLE::Enum - OLE Automation Collection Objects