ルックスをあなたのスタイル "Body Text、bt"は純粋な段落スタイルです。つまり、完全な段落にのみ適用されます。
ただし、スクリーンショットには2番目の段落の一部しか選択されていません。完全な段落が選択されていることを確認するか、段落の一部にしかスタイルを適用しない場合は、スタイル "Body Text、bt"をリンク(段落と文字)スタイルにします。
不連続な選択へのプログラムによるアクセスは非常に限定されており、そのような選択はWord UIを使用してのみ作成できます。 MSDNの記事Limited programmatic access to Word discontiguous selectionsにはいくつかの詳細があります。
のみ(それリンクのスタイルにすることにより)、段落の一部にスタイルを適用した場合、あなたはおそらく、このようなハックを考え出す必要がありたいものではありません:あなたはおそらくしたい
Sub BodyTextApply()
Dim oRange As Range
' create a temporary character style
ActiveDocument.Styles.Add "_TEMP_STYLE_", wdStyleTypeCharacter
' apply the temporary style to the discontiguous selection
Selection.Style = ActiveDocument.Styles("_TEMP_STYLE_")
Set oRange = ActiveDocument.Range
With oRange.Find
.ClearAllFuzzyOptions
.ClearFormatting
.ClearHitHighlight
.Style = ActiveDocument.Styles("_TEMP_STYLE_")
.Text = ""
.Wrap = wdFindStop
' search for all occurences of the temporary style and format the
' complete paraphraph with the desired style
Do While .Execute
oRange.Paragraphs(1).Style = ActiveDocument.Styles("Body Text,bt")
Loop
End With
' cleanup
ActiveDocument.Styles("_TEMP_STYLE_").Delete
End Sub
エラー処理を追加して、使用された一時的なスタイルが最終的に文書から削除されていることを確認してください。
Word 2007で正常に動作しますか? – RBarryYoung