Solved

Replace word fields with Text

Posted on 2009-07-06
6
350 Views
Last Modified: 2012-05-07
I am trying to replace all fields in a word doc with static text using perl so that the replaced text position is the same as the field.  i.e. remove the field and in its place put some text.

All I seem to be able to do is to replace the content of the field to the desired text.
my $listOfFields = $wordApp->ActiveDocument->Fields();
my $count = $wordApp->ActiveDocument->Fields->Count;
for (my $i = 1; $i <= $count; $i++) {
             my $field = $listOfFields->Item($i);
              $field->{Name} = 'MyFieldName';    #thought this might be useful - but doesn't set the name.
              $field->{Code}->{Text} = 'StaticText';
              $field->Cut;      #doesn't seem to remove the field
}

Open in new window

0
Comment
Question by:crisis_davis
  • 3
  • 3
6 Comments
 

Author Comment

by:crisis_davis
ID: 24792420
By using mailmerge to merg the document with a list that is pre-configured works a dream.  Now all I need to do is to automate the merge process.  Does anyone know how to run the  merge process from a perl script?
0
 
LVL 37

Accepted Solution

by:
Joanne M. Orzech earned 500 total points
ID: 24794510
If you're just replacing the content of the field with the exact text contained in the field, why don't you just do Control A (Select All) and Control-Shift F9 to turn the fields to text...?  It's called unlinking the fields.

0
 

Author Closing Comment

by:crisis_davis
ID: 31600443
Love it, - nice and simple - thanx  - will automate it with Perl now that I know what I am trying to do.  many thanks for help.
0
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 24796091
Excellent!  I was hoping that was what you were looking for!  So pleased to have been able to assist you.  Thanks so much.

Joanne Orzech
MS Word MVP
EE Zone Advisor
0
 

Author Comment

by:crisis_davis
ID: 24796389
So code now looks like:
my $listOfFields = $wordApp->ActiveDocument->Fields();
my $count = $wordApp->ActiveDocument->Fields->Count;
for (my $i = 1; $i <= $count; $i++) {
             my $field = $listOfFields->Item($i);
              $field->{Code}->{Text} = 'StaticText';
}
$listOfFields->Unlink();

Open in new window

0
 
LVL 37

Expert Comment

by:Joanne M. Orzech
ID: 24796413
Thanks for posting that!  It's all greek to me since I only use VBA (code below to update and unlink fields), but I'm sure will be helpful to anyone who knows perl script  :)  

So thanks!

    Selection.WholeStory
    Selection.Fields.Update
    Selection.Fields.Unlink
    Selection.HomeKey Unit:=wdStory

Open in new window

0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Do you ever need to create a 20 page Word document for some testing purpose? Are you tired of copying & pasting old boring "lorem ipsum" text over and over again, increasing font size and line space in order to make the document 20+ pages long? Look…
I would like to show you some basics you can do with Mailings in MS Word. It´s quite handy feature you can use for creating envelopes, labels, personalized letters etc. First question could be what is this feature good for? Mailing can really he…
Office 365 is currently available in five editions. Three of them are for business use: Office 365 Business Essentials, Office 365 Business, and Office 365 Business Premium. Two of them are for home/personal use: Office 365 Home and Office 365 Perso…
In a previous video Micro Tutorial here at Experts Exchange (http://www.experts-exchange.com/videos/1358/How-to-get-a-free-trial-of-Office-365-with-the-Office-2016-desktop-applications.html), I explained how to get a free, one-month trial of Office …

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question