Microsoft Word - Getting rid of those strange characters that replace Smart Quotes

Asked By Roger Hecht on 17-Jul-12 11:01 PM
I have Word 2003, but I often move files to a machine with Word 2007. I like to use Smart Quotes, but apparently, I took a 2003 file with Smart Quotes and opened it on the 2007 machine with SQ not enabled. I didn't notice this for a while, but suddenly I found the following:

A strange A replacing open quote
@ replacing close quote
=replacing apostrophe
and a strange C replacing em-dashes.

It's easy (but annoying) to replaces the @'s and ='s but impossible to replace the A and C without raising havoc. What is odd, is that neither letter is in the Times Roman chracter set, i.e., neither looks like its corresponding A and C in Times Roman. Nor can I find them in other character sets.

Right now, I have a large document with a lot of these A's (there is a lot of dialogue). Is there a way to run some kind of function that will turn these strange A's into open quotes and C's into em dashes? .
wally eye replied to Roger Hecht on 18-Jul-12 01:41 PM
Have you tried copy/pasting one of the "A"'s into an edit/replace dialog?  I suspect it isn't actually an "A".  If this works, it shouldn't be too difficult to write a function, something like:

Public Sub CleanAll()

    Call CleanOne(".", ",")

End Sub

Public Sub CleanOne(ByVal varInput As Variant, ByVal varReplace As Variant)

    Dim docCurr     As Word.Document

    Set docCurr = ThisDocument
    docCurr.Select
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
      .Text = varInput
      .Replacement.Text = varReplace
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Set docCurr = Nothing

End Sub

Go to the VBA IDE (alt-F11), insert a new module and paste in the above code.

Just edit the CleanAll macro to have your strange "A" in the first parameter and an open quote in the second parameter.  You might need to use two open quotes, depending on the character.  Then add a line and do the same thing for your C to em-dash.

I have no experience working with Word macros, but this seemed to work in my limited test.  You could assign the CleanAll procedure to a hotkey and run it that way.

Roger Hecht replied to wally eye on 18-Jul-12 01:50 PM
Alas, I fear this is too complicated for me, but I also feared that this is the kind of thing that I'd have to do. Clearly, MS should fix this.

I agree that the character is not an A. In fact, I have no idea what it is. I can't find it on any character set and have no idea how to find out what it really is or what its code is.

Find thinks it's an A which of course, makes it very hard to get rid of these things by hand. What saves me, I just found out, is that Word 2003 seems to recognize it and restores the " when I return the file to a machine with 2003. I guess this means, I have to alert any publisher I work with that I've done that and that if they want smart quotes, they have to do the Find Replace.

Thans.