in reply to Foreach-ing an OLE Collection object

Okay, I used John M. Dlugosz's suggestion, and I wrapped the entire collection call in curlies, like so:

foreach my $item ( in {$folder->Items} ) { foreach my $attachment ( in {$item->Attachments} ) { print "Saving " . $attachment->FileName . " from \"" . $item-> +Subject . "\"\n"; $attachment->SaveAsFile( "C:\\Download\\" . $attachment->FileN +ame ) ; } }

This works perfectly for me... When I tried cacharbe's suggestion of doing it this way:

in $folder->{Items}
, I got this error:

Win32::OLE(0.15) error 0x80020003: "Member not found" at bestshots.pl +line 47 Win32::OLE(0.15): GetOleEnumObject() Not a Win32::OLE::Enum object at +C:/Perl/si te/lib/Win32/OLE/Lite.pm line 167. Can't use string ("0") as a HASH ref while "strict refs" in use at bes +tshots.pl line 47.
-- More than perfect! Let us engage the Concord!

Replies are listed 'Best First'.
Re: Re: Foreach-ing an OLE Collection object
by cacharbe (Curate) on Aug 09, 2001 at 23:12 UTC
    hmmm. Well, I don't know what to say...I ran my code here on:
    • Win2k Advanced Server
    • ActivePerl 5.6.1 build 628
    and it ran like a champ.

    C-.