in reply to Re^3: Adding Slide to Powerpoint
in thread Adding Slide to Powerpoint

$pres -> Slides->Add($slideIndex,ppLayoutTitleOnly) = $slide; line gives the error "Can't modify non-lvalue subroutine call". If I remove the equals part, and try to add it to the next line, I get the right number of pages, but they are blank...
~~David~~

Replies are listed 'Best First'.
Re^5: Adding Slide to Powerpoint
by traveler (Parson) on Feb 17, 2007 at 00:14 UTC
    My Bad. Your $slides are just pointers to ppt slides. Try
    my @slides; my $j = 1; my $slide; while ($addpres->Slides($j)){$slides[$j] = $addpres->Slides($j);$j +++}; my $k = 1; foreach $slide (@slides){ # make a new slide my $s = $pres -> Slides->Add($slideIndex,$slides[$k]->Layout) $slides[$k]->Copy; #get what you want $s->Paste; #save it $slideIndex++; $k++; }
    I always forget the details of the PPT DOM details.
      Thank you for all your help, and I am sorry that I am having such a hard time getting this, but your last fix really helped out. I now get slides that are added, and that are the correct layout, but no text? The error I get is Win32::OLE(0.1502) error 0x80048240 in METHOD/PROPERTYGET "Slides" at powerpoint_create_withEDM.pl line 259 Win32::OLE(0.1502) error 0x80020003: "Member not found"
      ~~David~~
        You may need to do a select all before the .Copy