• ベストアンサー

WORD 置き換えマクロ 文字の白抜き

超初心者です。 「あいうおえ」という文字を白抜きの文字に一括で置き換えるマクロを作りたいのですが、うまくいきません。 よろしくお願いいたします。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

#2 です。すみません。勘違いしました。 白抜き文字の操作手順としては、白抜きにしたい文字列を範囲選択 して[罫線]-[線種とページ罫線と網かけの設定]から[網かけ]タブで、 背景色を設定します。 これを一括で行うコードにしたものです。今回は文字列を聞いてこな い仕様になっています。コードを眺めて見てください。 Sub フォント白抜き化()   Dim Rng     As Range   Dim SelectionEnd As Long   Dim RngEnd    As Long   Dim RngRepEnd  As Long   Dim strKEYWORD  As String     'ユーザーに任意の文字列を指定させる場合   'strKEYWORD = InputBox(Prompt:="対象文字列を入力")   'If strKEYWORD = "" Then   '  Exit Sub   'End If      '固定の場合   strKEYWORD = "あいうえお"      Set Rng = Selection.Range   SelectionEnd = Rng.End   With Rng.Find     .ClearFormatting     .Text = strKEYWORD     .MatchWildcards = True   End With   Do While Rng.Find.Execute And Rng.End <= SelectionEnd     RngEnd = Rng.End     With Rng       '白抜き化       With .Font.Shading         .ForegroundPatternColor = wdColorWhite         .BackgroundPatternColor = wdColorBlack       End With       RngRepEnd = .End       SelectionEnd = SelectionEnd + (RngRepEnd - RngEnd)       .Collapse wdCollapseEnd     End With   Loop   Set Rng = Nothing End Sub

coral_japan
質問者

お礼

ありがとうございました。 望みどおりの結果が得られました。 これで仕事の能率がアップできます。 また、機会がありましたら、お願いいたします。

その他の回答 (3)

回答No.4

文字列が同じで、「■+あ(白)これを重ね合わせた」もの をいつも使うなら定型句に登録しては。 http://hamachan.fun.cx/word/teikei.html マクロにこだわるならこの回答は無視して下さいね。

coral_japan
質問者

お礼

ありがとうございました。 なるほど、定型句の中には、文字列以外のものでも登録可能なのですね。 参考になりました。 また、機会がありましたら、お願いいたします。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。KenKen_SP です。 白抜き=アウトライン化のことかな? これをマクロでやるなら、 Selection.Font.Outline = True でマウスで選択された範囲をアウトライン化します。これを文書内で 一括、、となると結構面倒、、こんな感じでしょうか? マウスで選択された範囲内で、指定したキーワードのみアウトライン 化しています。 Sub フォントアウトライン化()     Dim Rng     As Range   Dim SelectionEnd As Long   Dim RngEnd    As Long   Dim RngRepEnd  As Long   Dim strKEYWORD  As String      strKEYWORD = InputBox(Prompt:="対象文字列を入力")   If strKEYWORD = "" Then     Exit Sub   End If      Set Rng = Selection.Range   SelectionEnd = Rng.End   With Rng.Find     .ClearFormatting     .Text = strKEYWORD     .MatchWildcards = True   End With   Do While Rng.Find.Execute And Rng.End <= SelectionEnd     RngEnd = Rng.End     With Rng       'アウトライン化       Rng.Font.Outline = True       RngRepEnd = .End       SelectionEnd = SelectionEnd + (RngRepEnd - RngEnd)       .Collapse wdCollapseEnd     End With   Loop   Set Rng = Nothing End Sub

coral_japan
質問者

お礼

お答えありがとうございます。 白抜きですが、文字の背景が黒に白色で文字が入った状態です。文字が白に反転した状態です。 ■+あ(白)これを重ね合わせた状態です。(わかりずらくてすみません。) あと、出てくる文字列は毎回同じものです。

  • yaburegasa
  • ベストアンサー率44% (596/1335)
回答No.1

「検索と置換」の置換で、置換後の文字列に白抜きの書式設定をして 一括置換えではいけませんか? それをマクロにしたいのでしょうか? いつも「あいうえお」という文字でしたらマクロでもいいのですが 白抜きしたい文字列をそのたび変更するのでしたら、マクロにする意味はなさそうな気がしますが。 見当違いでしたらごめんなさい。

coral_japan
質問者

お礼

お答えありがとうございます。 文字列はいつも同じもので、その文字列は「あ」と「か」と「さ」など、複数出てきます。 そのため、毎回同じ文字列を入力して置き変える、という作業が手間なので、マクロでつくりたいと思いました。すべての文字列を一括で置き換えるマクロは可能でしょうか?