Automation Methods and Properties
Once you have created an automation object, you can use its methods or adjust its properties as you require. Automation methods are implemented as you’d expect with the Perl object syntax:
$obj->some_method(args);
Automation methods can often take a number of optional
parameters. You can pass undef
for
any unwanted parameters in the arguments list. For example, you can
save a WorkBook in Excel with SaveAs
. Additional settings allow you to add
the WorkBook to the MRU list and create a backup copy:
$xl->WorkBooks(1)->SaveAs($f, undef, undef, undef, undef, 1, undef, undef, 1);
For simplification, you can also use just the named parameters
you want to set by passing a reference to a hash containing them. You
can do this right in the argument list by creating an anonymous hash
reference with {}
. The previous
example can therefore be written like this:
$xl->WorkBooks(1)->SaveAs($f, {AddtoMru => 1, CreateBackup => 1});
Properties of automation objects are accessed via hash reference notation on the object. For example:
$val = $obj->{"property"}; # Get a property value $obj->{"property"} = $val; # Set a property value
Be aware that properties may not be writable (or even readable). Many automation objects have read-only properties and will generate an exception if you try to write to them. You’ll need to consult the documentation for the object to find out which properties you can safely set.
You can enumerate the properties of an automation object using the normal ...
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.