That should be fairly straightforward:
Code:
Sub Macro1()
Dim oFld As Field
Dim oStory As Range
For Each oStory In ActiveDocument.StoryRanges
For Each oFld In oStory.Fields
If oFld.Type = wdFieldRef Then
If oFld.Result Like "Part*" Or _
oFld.Result Like "Schedule*" Then
oFld.Unlink
End If
End If
Next oFld
If oStory.StoryType <> wdMainTextStory Then
While Not (oStory.NextStoryRange Is Nothing)
Set oStory = oStory.NextStoryRange
For Each oFld In oStory.Fields
If oFld.Type = wdFieldRef Then
If oFld.Result Like "Part*" Or _
oFld.Result Like "Schedule*" Then
oFld.Unlink
End If
End If
Next oFld
Wend
End If
Next oStory
lbl_Exit:
Set oStory = Nothing
Set oFld = Nothing
Exit Sub
End Sub
Check before and after running the macro with
Code:
Sub Macro2()
Dim oFld As Field
Dim oStory As Range
For Each oStory In ActiveDocument.StoryRanges
For Each oFld In oStory.Fields
If oFld.Type = wdFieldRef Then
Debug.Print oFld.Result
End If
Next oFld
If oStory.StoryType <> wdMainTextStory Then
While Not (oStory.NextStoryRange Is Nothing)
Set oStory = oStory.NextStoryRange
For Each oFld In oStory.Fields
If oFld.Type = wdFieldRef Then
Debug.Print oFld.Result
End If
Next oFld
Wend
End If
Next oStory
lbl_Exit:
Set oStory = Nothing
Set oFld = Nothing
Exit Sub
End Sub