- ベストアンサー
エクセルの文字置換マクロで太く赤字にしたい方法
- エクセルの文字置換マクロを使用する際、置換後の文字を太く赤字にする方法を教えてください。
- ワード置換マクロを使用してエクセルの文字を置換する際、置換後の文字を太く赤字にする方法について教えてください。
- エクセルのマクロを使って文字を置換する方法について教えてください。特に置換後の文字を太く赤字にする方法が知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub ワード置換with書式() Dim wdObj As New Word.Application Dim buf As String dim n as long, fdtxt as string, rptxt as string buf = Dir(ActiveWorkbook.Path & "\*.doc") Do While buf <> "" wdObj.Documents.Open ActiveWorkbook.Path & "\" & buf wdobj.visible = true n = 1 Do While ActiveSheet.Cells(n, 1) <> "" fdtxt = ActiveSheet.Cells(n, 1) rptxt = ActiveSheet.Cells(n, 2) wdobj.selection.find.clearformatting wdobj.selection.find.replacement.clearformatting wdobj.selection.find.replacement.font.color = vbred wdobj.selection.find.replacement.font.bold = true With wdObj.Selection.Find .Text = fdtxt .Replacement.Text = rptxt .Forward = True .Wrap = wdFindContinue .format = true End With wdObj.Selection.Find.Execute Replace:=wdReplaceAll n = n + 1 Loop wdobj.selection.document.save wdobj.selection.document.close false buf = Dir() Loop wdObj.Quit End Sub 今のエクセルのマクロのブックに記載して実行します。 他のブックに移植すると作動しない恐れがあるので,注意して下さい。 #投稿に先立ってマクロを編集しましたか? せっかく置換しても結果が全く残らないとか,ずいぶん不自然なマクロになっていますが。
その他の回答 (1)
- tsubuyuki
- ベストアンサー率45% (699/1545)
おそらく、内容についてはあまり理解出来ていないだろうなと思いつつ。 With wdObj.Selection.Find With .Replacement.Font ' ここから .Color = wdColorRed .Bold = True End With ' ここまで4行追加 .Text = fdtxt としてやるとできると思いますよ。 #1さんがおっしゃるように、保存の概念が一切無く、 置換して終了・・なコードですね。 さらに言うと、ワード文書が大きくなると 文書を読み込みしきらないうちに次のコードに進む可能性も見えますので エラー(フリーズ)が発生する確率が上がります。 もう少し練った方がよろしいかと思われます。
お礼
早速の返信ありがとうございます。 完璧に動作しました。 素晴らしいマクロを作成して頂きまして本当にありがとうございます。 今後とも何とぞよろしくお願いします。