Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default Mail Merge: If ... then ... else

It is difficult to see the relevance of your particular field names, but if
I show a typical example of conditional fields in an address, maybe you can
work it out from there?

{ Mergefield FirstName } { Mergefield LastName }¶
{ IF{ Mergefield JobTitle } "" "{ Mergefield JobTitle }¶
" }{ IF{ Mergefield Company } "" "{ Mergefield Company }¶
" }{ Mergefield Address1 }¶
{ IF { Mergefield Address2 } "" "{ Mergefield Address2 }¶
" }{Mergefield Address 3 } etc

Press Enter where you see ¶ and nowhere else.

Your example
{ MERGEFIELD org1 }{ IF { MERGEFIELD org1 } = "" "" " " }
enters the content of org1 then if Org1 is not empty it enters a space. This
can be written more simply as
{ MERGEFIELD org1 }{ IF { MERGEFIELD org1 } "" " " }
or
{ IF { MERGEFIELD org1 } "" "{ MERGEFIELD org1 } " }
ie If Org1 has content (not empty) write org1 and a space.


--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


elg wrote:
Hi,

I am totaly new at this complexity of merge and want to be sure I
understand where these logic strings should go--you place them right
in the middle of your sequence of fields to build an address. I was
trying to follow instructions from word mvp to build a complex
address where not every filed in every record would have a value and
came up with this result: { MERGEFIELD jobtitle }{ IF { MERGEFIELD
jobtitle } = "" "" " " }

{ MERGEFIELD org1 }{ IF { MERGEFIELD org1 } = "" "" " " }

{ MERGEFIELD org2 }{ IF { MERGEFIELD org2 } = "" "" " " }

{ MERGEFIELD jobtitle }{ IF { MERGEFIELD jobtitle } = "" "" " " }

{ MERGEFIELD address2 }{ IF { MERGEFIELD address2 } = "" "" " " }


but when I ran the merge, only the name field got filled in. I would
greatly appreciate any help you can offer.


"Curt" wrote:

Thank You for explination Helps a novice like me a lot
Thanks

"Peter Jamieson" wrote:

Your other messages suggest that you may have solved this problem,
but if not...

1. I don't think a Word { IF } field will help here, because it
doesn't let you terminate a merge (i.e. you can't do something like

IF condition THEN
exit function
ELSE
continue merging
END IF

If your Excel macro is starting Word, then performing a
MailMerge.Execute, it's already "too late" - the start and end
records have been selected and the merge will merge those records,
/unless/ you are also using Merge Events in Word, in which case you
can cancel the merge from within.

However, since your merge is running from Excel, I would suggest
that it would be simpler to run some Excel code to find the first
blank cell in the column that you want to test, (say it is in row N
of the sheet) then set the merge so that it merges rows 2 to N-1

Peter Jamieson

"Curt" wrote in message
...
Have used if then else in excel. Not familar good with word. Want
to have word stop printing when it finds a blank cell. This is in
a mail merge macro.
Is there code to do this? I have written procedures in excel. No
expert self
tought. Having a good time. Those of you that man this group are
lifesavers.
Thanks

"Graham Mayor" wrote:

The three listed commands that control fields quickly become
second nature
when working with merge documents.

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


Mark Parent wrote:
Thanks much.... At the risk of sounding like Chandler Bing, all
that Alt-F9, Ctrl-F9, F9 couldn't BE more complicating, but I'm
away to the races now. Cheers !

"Peter Jamieson" wrote:

Yes. It's generally easier to insert this kind of "nested field"
using the keyboard rather than the drop down lists and so on -
you need a. to enable the Mail Merge toolbar (View|Toolbars in
WOrd 2002,2003, it automatically appears for mailmerge
documents in earlier versions) Use the button to switch
between "field view" where you see fieldname and "data
preview" where you see some result data b. Alt-F9 to toggle
between "field code view" where you see { MERGEFIELD fieldname
} and "field view"/preview. You may find that fields disappear
as you insert them and you need to use Alt-F9 to get them
back. c. select one or more fields and press F9 to update
their values d. ctrl-F9 to insert /each/ pair of the special
"field code braces"

The field you need is

{ IF "{ MERGEFIELD field1 }" = "" "{ MERGEFIELD field2 }" "{
MERGEFIELD field3 }" }

If you don't like all the quotes in this case you can probably
get away with

{ IF { MERGEFIELD field1 } = "" { MERGEFIELD field2 } {
MERGEFIELD field3 } }

but I advise you to stick with what I suggested.

If the field name "field1" actually has spaces in it, e.g. is
"field 1", then you need even more quotes to surround the name,
e.g.

{ IF "{ MERGEFIELD "field 1" }" = "" "{ MERGEFIELD field2 }" "{
MERGEFIELD field3 }" }

Peter Jamieson

"Mark Parent" wrote in
message
...
I understand that I can use this function to check a field in
my merge data,
and insert one or another text string into my Word document.
What I'd like
to do is use a field in my merge data to direct which of two
merge fields to
print. Is there a way to implement something like:
If [FIELD1] is Empty then [FIELD2] else [FIELD3] ?



Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Mail-Merge: Can we have master detail relationship or multiple entities in word Mail-Merge? gmax2006 Microsoft Word Help 1 March 28th 07 06:28 PM
Take Mail Merge in Word back the the Mail Merge Helper 1,2,3 Form. Chris Green Mailmerge 5 October 8th 05 03:51 PM
collate pages in mail merge vs mail merge being single document Dan Schwab Mailmerge 2 September 14th 05 09:35 PM
Proteced Form with Mail Merge Section-Mail Merge is "lost" whe F. Ferrer Microsoft Word Help 0 February 2nd 05 08:27 PM
mail merge doc with further linked/embedded mail merge docs not playing the game Rob Cowlard Mailmerge 3 January 8th 05 09:15 AM


All times are GMT +1. The time now is 01:12 AM.

Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"