If ...elseif ...elseif ....then statements

Z

zSplash

How do I code multi-else's using mail merge? Example: I want whatever is
City to be Ucase, but evidently I can't use VBA code in mail merges, so I
can figure out how to make Seattle capitalized if City = Seattle, but how do
I add other cities? I have tried, but only get City instead of TUCSON:

{IF {MERGEFIELD City}= Seattle "SEATTLE" {IF{MERGEFIELD City} = Tucson
"TUCSON"} ""}

If City <> one of my "defined" cities, can I just merge, and let the field
stop and let the user manually type in (capitalized) City?

I hope my question is clear. TIA.
 
Z

zSplash

But, can I have multi-elses? I tried, and got error: Unknown op code for
conditional:

{IF{MERGEFIELD Office}=1 "Seattle" {IF{MERGEFIELD Office}=2 "Portland"
{IF{MERGEFIELD Office}=3 "Fresno" {IF{MERGEFIELD Office}=4 "Tucson"}

I see that there are more left wavy brackets than right ones, and that I
haven't concluded the equation (what if not 1, 2, 3, or 4), but I don't
understand. Could someone help or direct me to a good rudimentary
explanation? TIA
 
G

Greg Maxey

Yes you can have multiple IF conditions.

{ IF { Test }="1""SEATLLE"{ IF{ Test }="2""PORTLAND"{ IF {
Test }="3""FRESNO"}}}
 
G

Greg Maxey

zSpash,

Sorry for the clipped reply earlier. My wife was assigning me a chore :)

You can nest the additional conditions as I showed you in my last post
(replace Test with your mergefield name) or in this case you can simply gang
them together
{IF{TEST}="1""SEATTLE"}{IF{TEST}="2""PORTLAND"} etc.
 
Z

zSplash

Thanks, Greg. Your earlier example was fine.

So, now I wonder, can I compare 3 fields from the data source and based on
the comparison, "get" one of the fields? (That is, consider 3 unique
fields: num3, num2, num1. If num3 is empty, check num2; if num2 is empty,
"get" num1.) Do I use "IF THEN" or something else?

It's just a little sad trying to "get the syntax (i.e., the demanded # of
curly braces, etc.)" for the mail merge Word fields when things are so
straight-forward in VBA.

TIA
 
G

Greg Maxey

zSplash,

Not tested, but try something like:

{ IF { NUM1 }<>""{ NUM1 }{ IF{ NUM2 }<>""{ NUM2 }{ NUM3}}}
 
P

Peter Jamieson

You can use VBA in merges if you are using Word 2002/2003 by using the
Mailmerge events, which give you the opportunity to modify the mail merge
main document before each record is merged, and so on. For example, suppose
your Mail merge Main document has adocvariable field called

{ DOCVARIABLE myvalue }

then you can do all your if..then..else stuff in VBA in the appropriate
event handler and simply set the document variable "myvalue" to the result
you want.

Peter Jamieson
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top