summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Win32/OLE/Enum.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Win32/OLE/Enum.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/Win32/OLE/Enum.pm95
1 files changed, 95 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl/lib/Win32/OLE/Enum.pm b/Master/tlpkg/tlperl/lib/Win32/OLE/Enum.pm
new file mode 100644
index 00000000000..6047d2c8274
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Win32/OLE/Enum.pm
@@ -0,0 +1,95 @@
+# 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