You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.8 KiB
95 lines
2.8 KiB
# The documentation is at the __END__
|
|
|
|
package Win32::OLE::Enum;
|
|
1;
|
|
|
|
# everything is pure XS in Win32::OLE::Enum
|
|
# - new
|
|
# - DESTROY
|
|
#
|
|
# - All
|
|
# - Clone
|
|
# - Next
|
|
# - Reset
|
|
# - Skip
|
|
|
|
__END__
|
|
|
|
=head1 NAME
|
|
|
|
Win32::OLE::Enum - OLE Automation Collection Objects
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
my $Sheets = $Excel->Workbooks(1)->Worksheets;
|
|
my $Enum = Win32::OLE::Enum->new($Sheets);
|
|
my @Sheets = $Enum->All;
|
|
|
|
while (defined(my $Sheet = $Enum->Next)) { ... }
|
|
|
|
=head1 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.
|
|
|
|
=head2 Functions/Methods
|
|
|
|
=over 8
|
|
|
|
=item 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 C<Count> and C<Item> methods, so creating an enumerator is not always
|
|
necessary.
|
|
|
|
=item $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);
|
|
|
|
=item $Enum->Clone()
|
|
|
|
Returns a clone of the enumerator maintaining the current position within
|
|
the collection (if possible). Note that the C<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.
|
|
|
|
=item $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.
|
|
|
|
=item $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.)
|
|
|
|
=item $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.
|
|
|
|
=back
|
|
|
|
=head1 AUTHORS/COPYRIGHT
|
|
|
|
This module is part of the Win32::OLE distribution.
|
|
|
|
=cut
|