Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

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
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*

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.

    OGB

      ++Old Gray Bear

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

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (16)
As of 2014-07-23 14:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (145 votes), past polls