Lee has a macro that compares, paragraph by paragraph, two documents. He needs a way to discount the use of smart quotes within a paragraph. In other words, if two paragraphs are similar in every way--except one uses smart quotes and the other doesn't--Lee still wants to consider the paragraphs equivalent.
The easiest way to handle this situation is to simply replace any smart quotes with regular quotes, and then do the comparison. For instance, assuming that your macro steps through the document and assigns the text of a paragraph to a variable (such as sThisPar), then you can get rid of smart quotes in the text by using this code:
sThisPar = RepText(sThisPar, Chr(145), "'") sThisPar = RepText(sThisPar, Chr(146), "'") sThisPar = RepText(sThisPar, Chr(147), Chr(34)) sThisPar = RepText(sThisPar, Chr(148), Chr(34))
These lines replace the smart versions of opening and closing quotes and apostrophes with their "plain" equivalents. This code relies upon a function called RepText, which is not shown in this tip. The routine does nothing but replace the occurrence of one piece of text with another. In some versions of VBA you can use the Replace command instead, which is built into those versions of the language.
While you are at it, you may also want to replace other Word-specific characters with their plain equivalents. The following lines replace, respectively, en dashes, em dashes, and ellipses.
sThisPar = RepText(sThisPar, Chr(150), "-") sThisPar = RepText(sThisPar, Chr(151), "--") sThisPar = RepText(sThisPar, Chr(133), "...")
Once the replacements are done, you can then compare the text in the paragraphs with much more confidence.
If you cannot modify your macro code for some reason, then you may want to simply replace the smart quotes in your documents with regular quotes prior to running the macro. Open the document, turn off automatic smart quotes (in the AutoCorrect dialog box), and then do two find and replace operations to, first, replace each quote with a quote (put the quote in both the Find What and Replace With boxes) and, second, to replace each apostrophe with an apostrophe. You can then run your macros and the comparison should go smoother.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (5411) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Ignoring Smart Quotes when Comparing Text.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. Check out Mastering VBA for Microsoft Office 365 today!
Need to have your macro copy a file from one place to another? It's easy to do using the FileCopy command, described in ...
Discover MoreUsing a macro to format your document (or portions of your document) is not all that uncommon. If you want your macro to ...
Discover MoreIf you are formatting your document by using a macro, you may need to make some of your text italics. You do that by ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments