If it ain't broke - don't fix it! However I would probably do it as follows. Depending on the document, you may have to address all the story ranges. This just accesses the document body.
Code:
Sub ReplaceQuotes()
' Macro to replace in the entire document:
' straight single and double straight quotes with curly
Dim sFormat As Boolean
sFormat = Options.AutoFormatAsYouTypeReplaceQuotes
Options.AutoFormatReplaceQuotes = True
ActiveDocument.Range.AutoFormat
Options.AutoFormatAsYouTypeReplaceQuotes = sFormat
' Call the FixSpace sub
FixSpace ActiveDocument.Range
lbl_Exit:
Exit Sub
End Sub
Private Sub FixSpace(oRng As Range)
' remove tabs;
' replace manual line returns with hard returns; and
' remove empty paragraphs
Dim oFind As Range
Set oFind = oRng.Duplicate
With oFind.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "^t"
.Replacement.Text = ""
.Execute Replace:=wdReplaceAll
End With
Set oFind = oRng.Duplicate
With oFind.Find
.Text = "^l"
.Replacement.Text = "^p"
.Execute Replace:=wdReplaceAll
End With
With oFind.Find
.Text = "^13{1,}"
.Replacement.Text = "^p"
.Execute MatchWildcards:=True, Replace:=wdReplaceAll
End With
End Sub