how do I delete commas in a field when blank

H

haliburton girl

I am trying to make a directory. I have the fields listed but when the data
is put in, the commas remain for blank fields. It looks like this
teaching,,,,,writing,speech,
 
G

Graham Mayor

If this is a data file, you would expect the commas to be present. They mark
the fields. If they are in the merged document, where are they coming from?

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

I am making a directory. Some of the fields in my database are blank. When
merging them the comma stays between each entry so the blank ones show as a
comma each time.
Jan
 
G

Graham Mayor

Yes, but is the comma in the data or have *you* introduced it between
fields?
eg
{Mergefield field1},{Mergefield Field2}, etc

If the latter, then you need a set of conditional fields eg

{IF {Mergefield Field1} <> "" "{Mergefield Field1},"}{IF {Mergefield Field2}
<> "" "{Mergefield Field2},"} etc

ie you conditionally place the field and the comma if the field is not
empty. If it is empty nothing is inserted.

If the former then you need to trap whatever an 'empty' field produces in a
similar manner.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

*I* have introduced it between fields as I want it to look like a list.

I will try to make an "if" statement, but what is the condition. Do I
just put an "if" merge field 1 then merge field 1, I am sorry but WORD
confuses me in its insert word field. Is that where I find the "if"
statement. If so, which one?
thanks,
 
G

Graham Mayor

To create a conditional (IF) statement in mail merge, the simplest method is
to insert it from the keyboard directly. For this you need to know the names
of the fields and that CTRL+F9 inserts field boundaries {}.

The construction is then similar to

{IF {Mergefield Field1} <> "" "{Mergefield Field1},"}

What this means is that if the content of the field called field1
(substitute your own field name) is not equal to nothing then insert the
bits between the speech marks ie the contents of the field and the comma
following it.

ie
{IF {Mergefield Fieldname} <> "" "enter this" "otherwise enter this"}

Having entered the fields select them and press F9 to update them, then if
necessary ALT+F9 to tooggle the display to show the result.


--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>



--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

Yes, now I have commas only where I want them. However, when there is
nothing in the database it puts a space. I guess I need another condition
but unsure how to write it.
Thanks.
Haliburton
 
H

haliburton girl

Another frustrating thing. I try and try to format the main document to
Times New Roman 10 and it seems to do it, but when I merge those fields are
some other font.
thanks,
Jan
 
G

Graham Mayor

You don't need another condition, put the space, currently outside the
fields, inside the result along with the comma, so that you only get a space
if there's a record entry.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
G

Graham Mayor

Add a \*charformat switch (or change the \*mergeformat switch if present)
to the offending fields. eg

{Mergefield fieldname \*charformat} this will cause the merge to adopt the
formatting of the inserted field.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

Graham,
It is almost perfect but at the end of each of my directory lists there is a
comma. Is there any script that will tell it that it is the end and no
comma? Or should I take them out manually?
thanks,
J
 
G

Graham Mayor

Assuming that you always have a first field then put the comma at the
beginning eg

{Mergefield field1}{IF {Mergefield field2} <> "" ", {Mergefield field2}"}
etc.

If you don't always have a field1 then it will prove a little more fiddly. I
would need to know what fields you have.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

HI Graham,
I am afraid that everyone isn't listing in the first field. The fields are
lists of what type of writing we do and so everyone is different. So the
list is sometimes short, even non-existent, and sometimes long. I have a
subheading "Interests", then the list proceeds. I can manually delete all
the commas at the end of each person but I have 260 entries.
 
G

Graham Mayor

I suspect that it will be more complicated to not place the commas than to
remove them later. Merge to a new document. If the list for each record ends
with a paragraph mark then use replace to replace ,^p with ^p (or use the
macro)

Sub LoseTheCommas()
Selection.HomeKey Unit:=wdStory
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ",^13"
.Replacement.Text = "^p"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute replace:=wdReplaceAll
End Sub

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

I am sorry but this message made no sense to me at all. What is a paragraph
mark? And when do I use the macro (I assume that is that big long
complicated script below in your message)? And I actually do all this once
it has merged all the files into a new document? Or do I do it in the setup?
J
 
G

Graham Mayor

haliburton said:
I am sorry but this message made no sense to me at all. What is a
paragraph mark? And when do I use the macro (I assume that is that
big long complicated script below in your message)? And I actually
do all this once it has merged all the files into a new document? Or
do I do it in the setup? J

:

A paragraph mark is what ends a paragraph - ie if you click ¶ on the toolbar
(or CTRL+*) you can display the formatting (repeat the commnad to change it
back again)

If your list looks like
mmmmm, nnnnnnnnn, nnnnnnnn, nnnnnnnn,¶
mmmmm, nnnnnnnnn, nnnnnnnn, nnnnnnnn,¶
mmmmm, nnnnnnnnn, nnnnnnnn,¶
mmmmm, nnnnnnnnn, nnnnnnnn, nnnnnnnn,¶
mmmmm, nnnnnnnnn,¶
mmmmm, nnnnnnnnn, nnnnnnnn, nnnnnnnn,¶

Then the replace function will work (the macro simply runs the same replace
function) http://www.gmayor.com/installing_macro.htm
Merge to a new document and run the replace on that document.
ie
replace
,^p
with
^p
If there is a space between , and ¶ then replace
, ^p
with
^p

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
H

haliburton girl

I think I will just do as you said and take the commas out by hand.
thanks for all your help
J
 

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