Findを使ったマクロの例は、
⇒ こちらの記事をご覧ください。
⇒ こちらもご覧ください。
Word VBA で検索をするときも、同じく「Find」を使います。
けれども、VBAコードの書き方は、ExcelのFindと少し異なります。
そもそも、Excel VBA のFindはメソッドに分類されているのに対し、Word VBA のFindは、Rangeオブジェクトのプロパティです。そこからして違います。
RangeオブジェクトのFindプロパティから取得するオブジェクト、それがFindオブジェクトです。そのFindオブジェクトの各種のプロパティが、検索・置換の条件となります。
何やらごちゃごちゃと、分かりにくいことばかりを言っていますが・・・・。
ExcelマクロとWordマクロは、中味がほぼ同じ、とよく言っているのですが、
ことFindに関しては、「ほぼ同じ」とまでは言えないようです。
ここで、Findを使ったWordマクロの例を紹介します。
この内容を理解できれば、いろんな場面に応用できます。
お勧めできる使用例です(・・・と、思います。)。
Sub NijuKagi()
'選択したものと同じ文字列の前後に、『』を挿入
Dim myR As Range, myTxt As String
If Selection.Start <> Selection.End Then
Set myR = ActiveDocument.Range(0, 0)
myTxt = Selection.Range.Text
With myR.Find
.Text = myTxt
.Replacement.Text = "『" & myTxt & "』"
.Execute Replace:=wdReplaceAll
End With
Else
MsgBox "文字列が選択されていません。"
End If
End Sub
なお、Word VBA に関しては、次の書籍「Word VBA入門」が参考になります。
その中では、Wordの「Rnage」オブジェクト等に関して、詳しい解説がされています。
「WordのRangeって、そういうことか!」ってなります。
◆ Word VBA入門
それでは、また次の記事で
■■■■ goosyun ■■■■
《2023年2月3日追記》
「はっ?Findはオブジェクト?」
「なんで?」って思った方は、
⇒ こちらの記事をご覧ください。
最近の「VBAプログラミング・マクロ」カテゴリーもっと見る
最近の記事
カテゴリー
バックナンバー
人気記事