I've found few complete and worthwhile perl programs to generate complicated Office files, Word, Excel, and Powerpoint. I've seen many an answer lead the programmer from trying this. It works. I have extensive Word and Excel programs too large for snippets. I am just now toying in Powerpoint and have already gotten further than any post I have found so I'm adding my two cents. Comments were removed for brevity. I'm not a perl guru and I'm sure there may be other ways to do this.
Kenneth.Tomiak@AttGlobal.net
use strict ; $DOS::Filename = "d:\\Temp\\Perl2PowerPoint.ppt" ; use Win32::OLE::Const 'Microsoft PowerPoint'; use Win32::Process ; # Launch a Windows program $Win32::OLE::Warn = 2 ; # return errors... if (-f $DOS::Filename) { unlink $DOS::Filename ; } eval {$MS::PowerPoint = Win32::OLE->GetActiveObject('PowerPoint.Appl +ication')} ; die "PowerPoint not installed" if $@ ; unless (defined $MS::PowerPoint) { $MS::PowerPoint = Win32::OLE->new('PowerPoint.Application', sub {$ +_[0]->Quit;}) or die "Oops, cannot start PowerPoint" ; } $MS::PowerPoint->{'Visible'} = 1 ; # 0 = do not show it $ppt::presentation = $MS::PowerPoint->Presentations->Add() ; $ppt::Slide = $ppt::presentation->Slides->Add({Index=>1 , Layout=>pp +LayoutText}); $ppt::Slide->{Name} = "Slide1"; $ppt::presentation->ApplyTemplate('D:\Program Files\Microsoft Office +\Templates\Presentation Designs\high voltage.pot') ; $ppt::slide = $ppt::presentation->Slides->Add({Index=>2 , Layout=>p +pLayoutText}); $ppt::slide->{Name} = "Ken"; $slide::textbox=$ppt::slide->Shapes->AddTextbox({Orientation=>1, Left=>5, Top=>5, Width=>250, Height=>250,}); $slide::textbox->TextFrame->TextRange->{Text} ="Big Ole Test"; $slide::title=$ppt::slide->Shapes->{Title}; $slide::title->TextFrame->TextRange->{Text} ="Title Test"; $ppt::slide = $ppt::slide->Duplicate(); $ppt::slide->{Name} = "Slide2"; $slide::title=$ppt::slide->Shapes->{Title}; $slide::title->TextFrame->TextRange->{Text} ="Slide Test"; $ppt::presentation->SaveAs( \$DOS::Filename ) ; $ppt::presentation->Close; undef $ppt::presentation ; undef $MS::PowerPoint ;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: perl can create Office files from Windows
by RMGir (Prior) on Apr 25, 2003 at 12:06 UTC | |
(jeffa) Re: perl can create Office files from Windows
by jeffa (Bishop) on Apr 25, 2003 at 12:42 UTC |
Back to
Cool Uses for Perl