apologies, I've sent this to the wrong list.

-----Original Message-----
From: Lesley Binks [mailto:lesl...@pgcroft.net] 
Sent: 09 November 2009 16:53
To: Andy Maginnis
Cc: dbi-users@perl.org
Subject: Re: Automating Excel & Word - Table of contents!

On Mon, Nov 09, 2009 at 03:46:19PM -0000, Andy Maginnis wrote:
> Apologies if this the wrong list for this question, if so could
someone
> point me in the right direction!
> 
> I am trying to generate an script to process multiple CSV's into a
> single excel doc, create tables
> and then create a shell report document template. I have managed all
> this so far but cannot
> seem to add a TOC. From what I can tell I have translated the VBA
> command correctly.
> 
> Ideally I would like to add it at the start of the document, however I
> also cannot move the
> selector position & have been trying to just insert a TOC anywhere as
a
> first step.
> 
> $Word = Win32::OLE->GetActiveObject('Word.Application') ||
> Win32::OLE->new('Word.Application');
> my $document  = $Word->Documents->Add;
> 
> foreach my $file (getFileListAsArray($basedir,"\.(?:gif|GIF)\$")){
>       print "Adding $file to document\n";     
>       $name=$file;
>       $name=~s/$striphead//;
>       $name=~s/$striptail//;
>               
>   $document->ActiveWindow->Selection -> {Style} = "Heading 1";
>       $document->ActiveWindow->Selection -> TypeText("$name\n");
>       
>   $document->ActiveWindow->Selection -> {Style} = "Normal";
>       $document->ActiveWindow->Selection -> TypeText("Type Text here
> 1\n");
>       
>       $Word->Selection->InlineShapes->AddPicture({
>         FileName    => "$basedir\\$file",
>         LinkToFile  => "False",
>         SaveWithDocument  => "True"});
>         
>       $document->ActiveWindow->Selection -> TypeText("Type Text here
> 2\n");
>       $Word->Selection->InsertBreak({Type=>wdSectionBreakNextPage});
> 
> }
> 
> $Range = $Word->Selection->{'Range'};
> $Word->ActiveDocument->TablesOfContents->Add ({
>       Range=>$Range,
>       RightAlignPageNumbers=>"True", 
>       UseHeadingStyles=>"True",
>       UpperHeadingLevel=>"1",
>       LowerHeadingLevel=>"4",
>       IncludePageNumbers=>"True",
>       AddedStyles=>"",
>       UseHyperlinks=>"True",
>       HidePageNumbersInWeb=>"True",
>       UseOutlineLevels=>"True"
> }); 
> 
> $document ->SaveAs( $outfile );
> $document ->Close;
> 
> Im using Word 2007
> 
> many thanks.


You would probably be better off discussing this topic on a more
generalised perl list or forum.
This list is on using DBI - the independent database interface for Perl.


Reply via email to