Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Win32 OLE change paragraph text color

by poj (Abbot)
on Aug 01, 2016 at 19:14 UTC ( [id://1168955]=note: print w/replies, xml ) Need Help??


in reply to Win32 OLE change paragraph text color

Try
#!/usr/bin/perl -w use strict; use Win32::OLE; use Win32::OLE::Const; my $wd = Win32::OLE::Const->Load("Microsoft Word 14.0 Object Library") +; printf "wdRed = %s\n", $wd->{wdRed}; printf "wdGreen = %s\n", $wd->{wdGreen}; my $document_name = 'C:\Users\boss\worddoc.doc'; my $word = Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application','Quit') or die Win32::OLE->LastError(); my $document = $word->Documents->Open($document_name) or die Win32::OLE->LastError(); my $paragraphs = $document->Paragraphs(); my $n_paragraphs = $paragraphs->Count(); for my $p (1..$n_paragraphs) { my $paragraph = $paragraphs->Item($p); my $text = $paragraph->Range->Text(); my $font = $paragraph->Range->Font(); if ($text =~ /interviewer/i) { print "$text\n\n"; $font->{'ColorIndex'} = $wd->{wdGreen}; } else { $font->{'ColorIndex'} = $wd->{wdRed}; } } $document->Save; $document->close;

If the constants don't load just use a color index of 6 for red, 11 for green

poj

Replies are listed 'Best First'.
Re^2: Win32 OLE change paragraph text color
by cormanaz (Deacon) on Aug 01, 2016 at 19:57 UTC
    Works perfectly. Thanks so much!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1168955]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2024-04-24 08:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found