Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Mark Parent Mark Parent is offline
external usenet poster
 
Posts: 3
Default Mail Merge: If ... then ... else

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] ?
  #2   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Mail Merge: If ... then ... else

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] ?


  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Mark Parent Mark Parent is offline
external usenet poster
 
Posts: 3
Default Mail Merge: If ... then ... else

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] ?



  #4   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

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] ?



  #5   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Curt Curt is offline
external usenet poster
 
Posts: 32
Default Mail Merge: If ... then ... else

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] ?






  #6   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Mail Merge: If ... then ... else

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 04:44 AM.

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

About Us

"It's about Microsoft Word"