In my other life I work at a publishing house, so quite often I compile and edit lists of book titles, authors, type specs--all kinds of things. (I just finished putting together a list of nearly 1,400 book titles for a giant electronic publishing project.) A typical list looks like this:
To Kill a Mockingbird
Jane Eyre
Old Man and the Sea
Great Gatsby
Moby Dick
And so on. (You'll notice that I removed the initial "The" from The Old Man and the Sea and The Great Gatsby so they'll sort properly. You may also want to do this with "A" and "An" if you're sorting lists of books.)
BMW (before Microsoft Word) I used to sort such lists by hand. Now I sort them like this:
1. In Microsoft Word, select the paragraphs making up the list to be sorted.
2. Click the Table menu.
3. Click "Sort" or "Sort Text."
4. Under "Sort by," select "Paragraphs."
5. Under "Type," select "Text."
6. Select "Ascending."
7. Click "OK."
Wow, that works great! But wait a minute. I've got Great Gatsby in here three times! And Moby Dick twice! I wonder how many other duplicates I've got. Isn't there a way to delete them automatically?
In fact, there is. Just use this trusty macro, compliments of the Editorium:
FOR MICROSOFT WORD 6 OR 7 (95):
'THE MACRO STARTS HERE
StartOfDocument
ParaDown 1, 1
Para1$ = Selection$()
CharRight 1
While AtEndOfDocument() = 0
ParaDown 1, 1
Para2$ = Selection$()
If Para1$ = Para2$ Then
WW6_EditClear
Else
Para1$ = Para2$
CharRight 1
EndIf
Wend
'THE MACRO ENDS HERE
FOR MICROSOFT WORD 8 (97 OR 98) OR 9 (2000):
'THE MACRO STARTS HERE
Dim Para1$
Dim Para2$
WordBasic.StartOfDocument
WordBasic.ParaDown 1, 1
Para1$ = WordBasic.[Selection$]()
WordBasic.CharRight 1
While WordBasic.AtEndOfDocument() = 0
WordBasic.ParaDown 1, 1
Para2$ = WordBasic.[Selection$]()
If Para1$ = Para2$ Then
WordBasic.WW6_EditClear
Else
Para1$ = Para2$
WordBasic.CharRight 1
End If
Wend
'THE MACRO ENDS HERE
TO CREATE THE MACRO
1. Copy the appropriate macro from this newsletter.
2. Click the "Tools" menu at the top of your Word window.
3. Click "Macro."
4. In Word 97, 98, or 2000, click "Macros."
5. Make sure "Macros Available In" shows "Normal.dot."
6. Type a name for the macro in the "Macro Name" box--"DeleteDuplicates" should do nicely.
7. Click "Create."
8. Paste the macro at the current insertion point.
9. In Word 6 or 7, click "File," then "Close," then "Yes." In Word 97, 98, or 2000, click "File," then "Close and Return to Microsoft Word."
TO RUN THE MACRO:
1. *Back up your document* in case something doesn't work quite right.
2. Click the "Tools" menu at the top of your Word window.
3. Click "Macro."
4. In Word 97, 98, or 2000, click "Macros."
5. Make sure "Macros Available In" shows "Normal.dot."
6. Select the macro (probably "DeleteDuplicates") in the "Macro Name" box.
7. Click "Run."
No more duplicates! (If you still see what seem to be duplicates, check them carefully. One of the pair may be spelled slightly differently or have an invisible space preceding the carriage return.)
If you need other macros to make your life easier, you may be interested in our program add-ins at http://www.editorium.com. If you're editing, writing, or typesetting in Microsoft Word, they'll save you time. Couldn't you use more of it?