Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

win32 ole and power point

by sumit07 (Novice)
on Sep 08, 2012 at 08:42 UTC ( #992448=perlquestion: print w/ replies, xml ) Need Help??
sumit07 has asked for the wisdom of the Perl Monks concerning the following question:

hello perl monks help me solve it error: Can't call method "CustomDocumentProperties" on an undefined value at powerpoint .pl line 10. code is below please solve it thanks in advance
use strict; use Win32::OLE qw(in); use Win32::OLE::Const 'Microsoft Office'; my $Word = Win32::OLE->new('Word.Application', 'Quit'); my $PowerPoint = Win32::OLE->new('PowerPoint.Application', 'Quit'); my $Watermark = $Word->Documents->Open('C:\Users\sumit\Desktop\test\D +oc1.doc'); my $ppt = $PowerPoint->Presentations->Open('C:\Users\sumit\Desktop\te +st\Presentation1.ppt'); my $Powerprop = $ppt->CustomDocumentProperties(); foreach my $Property (in $Watermark->CustomDocumentProperties) { my $Name = $Property->Name; local $Win32::OLE::Warn = 0; my $Value = $Property->Value; # $Property->{Value}='test'; $Value = '***Error***' if Win32::OLE->LastError; $Value = '<undef>' unless defined $Value; $Powerprop->Invoke('Add',{ Name => $Name, LinkToContent => 0, Type => 4, Value => $V +alue } ); printf "%s %s = %s\n", $Name, '.' x (40-length($Name)), $Property- +>Value; } $ppt->Save(); $ppt->Close(); $PowerPoint->Quit(); $Watermark->close(); $Word->Quit();

Comment on win32 ole and power point
Download Code
Replies are listed 'Best First'.
Re: win32 ole and power point
by Old_Gray_Bear (Bishop) on Sep 08, 2012 at 14:59 UTC
    So, what happens if line 8 (my $ppt = $PowerPoint->Presentations->Open('C:\Users\sumit\Desktop\test\Pr­esentation1.ppt');) fails? You really do need to check for errors after trying to open files, you never know what might have happened unless you check.

    I Go Back to Sleep, Now.


      ++Old Gray Bear

      I knew I was missing something when I posted my response but I guess the coffee hasn't kicked in yet.

Re: win32 ole and power point
by Mr. Muskrat (Abbot) on Sep 08, 2012 at 14:57 UTC

    CustomDocumentProperties is a property so access it as such.

    my $Powerprop = $ppt->{CustomDocumentProperties};

    There may be other issues with your code but I stopped looking when I got to that line. *shrug*

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://992448]
Approved by Corion
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2015-11-30 01:42 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (756 votes), past polls