• ベストアンサー

WORDで書式などを利用して置換するマクロをつくりたいです

 WORD2000で書式などをキーにして置換するマクロをつくりたいです。  例)太字の文字列すべてを『♂』『♀』で囲む  これをVBAで表記するにはどう書いたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

以下のマクロでいかがでしょう?カーソル以降の太字は『♂』『♀』で囲まれます。 Sub BOLDWORD_SANDWICH() With Selection  With .Find   .Font.Bold = True   .Replacement.Text = "♂^&♀"   .Forward = True   .Wrap = wdFindContinue   .Execute  End With  If .Find.Forward = True Then   .Collapse Direction:=wdCollapseStart  Else   .Collapse Direction:=wdCollapseEnd  End If  .Find.Execute Replace:=wdReplaceAll End With End Sub Win2000+Word2000で動作確認

938spitz
質問者

補足

ありがとうございました。 希望通り『♂』『♀』がつきました。 ちなみに文字に網かけがしてある部分をキーにして置換(同じく記号ではさむ)はできますか? もしご存知であれば教えてください。

その他の回答 (1)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

> ちなみに文字に網かけがしてある部分をキーにして置換 蛍光ペンは検索機能が使えるのですが、網掛け部分は使えないようで。よって、Shadingを一個ずつチェックするしかなさそうです。これだと、文書の文字数が増えるほど処理が遅くなります。参考までに。 Sub BOLDWORD_SANDWICH2() Dim myTexture Dim i As Integer For i = 1 To ActiveDocument.Characters.Count myTexture = Selection.Font.Shading.Texture Selection.MoveRight If myTexture <> Selection.Font.Shading.Texture Then  If Selection.Font.Shading.Texture <> 0 Then   Selection.TypeText Text:="♂"  Else   Selection.TypeText Text:="♀"  End If End If Next i End Sub

938spitz
質問者

お礼

ありがとうございました。 私のしたいことがそのまま出来ました!

関連するQ&A

専門家に質問してみよう