in reply to How do I apply formatting to a particular word in a docx file using Win32::Ole in Perl?
Here is a tested, more perlish alternative:
use strict; use warnings; use Win32::OLE qw(in); # "in" provides the enumeration mechanism# use Win32::OLE::Const 'Microsoft Word'; my $file = 'C:\Users\Netwallah\My Documents\test.docx'; my $WordApp = Win32::OLE->new('Word.Application', 'Quit'); #$WordApp->{'Visible'} = 0; my $doc = $WordApp->Documents->Open($file) or die("Unable to open document '$file':", Win32::OLE->LastError()); for my $para (in $doc->Paragraphs()){ for my $CurrentWord (in $para->{Range}->Words()){ next unless $CurrentWord->Text() =~/perl/i; $CurrentWord->Font->{Bold} = 1; } } $doc->Save(); $WordApp->ActiveDocument->Close ; $WordApp->Quit;
Syntactic sugar causes cancer of the semicolon. --Alan Perlis
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How do I apply formatting to a particular word in a docx file using Win32::Ole in Perl?
by Anonymous Monk on Jul 26, 2011 at 05:04 UTC | |
by NetWallah (Canon) on Jul 27, 2011 at 04:04 UTC |