As you are probably aware, a Word document comprises several separate story ranges, a bit like a pile of transparencies (if you are old enough to remember them) that combine to make the whole. I believe 'Content' reflects only the main story range.
To be certain of processing all the story ranges you need to do so separately and the following code, based on Word code from my web site, should do that.
I don't work in Access, but it works in Excel where the principle is similar:
Code:
Option Explicit
'Graham Mayor - https://www.gmayor.com - Last updated - 22 Nov 2021
Sub ReplaceInStoryRanges()
Const sPath As String = "C:\Path\docname.docx" ' the path of the document
Dim WordDoc As Object
Dim wdApp As Object
Dim oStory As Object
Dim oShp As Object
Dim bFormat As Boolean
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
If Err Then
Set wdApp = CreateObject("Word.Application")
End If
On Error GoTo 0
Set WordDoc = wdApp.Documents.Open(sPath) 'works in Word even if the document is already open
bFormat = wdApp.Options.AutoFormatAsYouTypeReplaceQuotes
wdApp.Options.AutoFormatAsYouTypeReplaceQuotes = False
For Each oStory In WordDoc.StoryRanges
Select Case oStory.StoryType
Case 1 To 11
Do
ReplaceQuotes wdApp, WordDoc, oStory
DoEvents
On Error GoTo 0
Select Case oStory.StoryType
Case 6, 7, 8, 9, 10, 11
If oStory.ShapeRange.Count > 0 Then
For Each oShp In oStory.ShapeRange
If oShp.TextFrame.HasText Then
ReplaceQuotes wdApp, WordDoc, oStory
End If
DoEvents
Next oShp
End If
Case Else
End Select
On Error GoTo 0
Set oStory = oStory.NextStoryRange
Loop Until oStory Is Nothing
Case Else
End Select
DoEvents
Next oStory
wdApp.Options.AutoFormatAsYouTypeReplaceQuotes = bFormat
End Sub
Sub ReplaceQuotes(wdApp As Object, oDoc As Object, oRng As Object)
Dim oFind As Object
Dim vFindText As Variant
Dim vReplText As Variant
Dim bQuotes As String
Dim i As Long
vFindText = Array(Chr(132), Chr(147), Chr(148), ChrW(171) & ChrW(160), ChrW(160) & ChrW(187), Chr(145), Chr(146))
vReplText = Array(Chr(34), Chr(34), Chr(34), Chr(34), Chr(34), Chr(39), Chr(39))
wdApp.Options.AutoFormatAsYouTypeReplaceQuotes = False
For i = LBound(vFindText) To UBound(vFindText)
Set oFind = oRng.Duplicate
With oFind.Find
Do While .Execute(vFindText(i))
oFind.Text = vReplText(i)
oFind.Collapse 0
Loop
End With
Next i
lbl_Exit:
Set oFind = Nothing
Exit Sub
End Sub