Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


72 / 308 ツリー ←次へ | 前へ→

【689】Word VBA 囲い文字 CAN 10/5/6(木) 15:05 質問[未読]
【690】Re:Word VBA 囲い文字 りる 10/5/9(日) 15:16 回答[未読]
【691】Re:Word VBA 囲い文字 CAN 10/5/10(月) 8:46 お礼[未読]

【689】Word VBA 囲い文字
質問  CAN E-MAIL  - 10/5/6(木) 15:05 -

引用なし
パスワード
   どなたかおわかりになる方教えてください。

vbaを使ってwordの文章中の決まった文字を囲い文字にするにはどうしたらよいのでしょうか?
例えば『あいうえおかきくけこ』の『あ』だけ○で囲んだAに、『い』だけ○で囲んだ『B』したいです。
よろしくお願いいたします。

【690】Re:Word VBA 囲い文字
回答  りる  - 10/5/9(日) 15:16 -

引用なし
パスワード
   CAN さん、こんにちは。

>vbaを使ってwordの文章中の決まった文字を囲い文字にするにはどうしたらよいのでしょうか?
>例えば『あいうえおかきくけこ』の『あ』だけ○で囲んだAに、『い』だけ○で囲んだ『B』したいです。
>よろしくお願いいたします。
あをA、いをBに置換して拡張書式の囲み文字を設定しました。

ちなみに、↓こういう文書でテストしました。

あいうえおかきくけこ
BBAABB
あきくけこ

Sub まとめて置き換える()
  Dim s1 As String, s2 As String
  '2パターン
  For NN = 1 To 2
   Select Case NN
     Case 1: s1 = "あ": s2 = "A"
     Case 2: s1 = "い": s2 = "B"
   End Select
   With ActiveDocument.Range.Find
     Do
      '文字を探す s1
      resp = .Execute(FindText:=s1, Wrap:=wdFindContinue, Replace:=wdReplaceOne)
      If resp = True Then
        '○で囲んだ新しい文字 s2
        .Parent.ModifyEnclosure Style:=wdEncloseStyleSmall, _
              Symbol:=wdEnclosureCircle, EnclosedText:=s2
      Else
        '置き換える文字がなくなった
        Exit Do
      End If
     Loop
   End With
  Next
End Sub

【691】Re:Word VBA 囲い文字
お礼  CAN  - 10/5/10(月) 8:46 -

引用なし
パスワード
   りる様

ありがとうございます。
イメージしていた物がこんなにシンプルに出来るなんて感激です。

私なりにやってみた方法ですと○の中の文字の位置や大きさがむちゃくちゃで
フィールドコード内をどうやってやっつけるのか悩んでました。

本当にありがとうございました

72 / 308 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
207136
(SS)C-BOARD v3.8 is Free