弁理士の日々

特許事務所で働く弁理士が、日常を語ります。

ワードマクロの一例

2006-02-21 00:09:21 | サイエンス・パソコン
TOKOさんがコメントに書かれた機能のマクロについては、今調べたところでは、結構一からプログラミングしていますね。これは前回の私の発言に沿ってトライしたのでは最終結果に到達しないでしょう。
ということで、私のマクロの中身を以下に記します。SubからEnd Subまでがマクロのサブルーチンです。キーボードマクロにトライして様子がわかったら、マクロのVisualBasicEditorでNormalMacrosの中に下記マクロのサブルーチンをコピーすることによって、マクロができあがるでしょう。
使い方:
(1) まず、文章としては、下付き文字を含まない所定の文字で完成しておきます。この文字を以下で「検索文字」といいます。
(2) 次に、置換したい下付き文字を含んだ文字列をワード文書の中に1箇所だけ作成しておき、その文字列をクリップボードに入れておきます。
(2) 下記のマクロを実行し、出てきた窓の中に上記「検索文字」を入力し、OKを押すと、1個1個検索文字を下付き文字を含んだ文字列に変換していきます。


Sub 新置換()
'
' 新置換 Macro
' 記録日 01/04/22 記録者 ボンゴレ
'
Dim Fword, MsgRes
Fword = InputBox("検索文字を入力してください", "検索文字をクリップボードの内容に置換")
If Fword = "" Then Exit Sub
With Selection.Find
.ClearFormatting
.Text = Fword
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.MatchByte = False
.MatchFuzzy = True
.Execute
If .Found = False Then
MsgBox "検索文字が見つかりませんでした"
Exit Sub
End If
End With
Do
MsgReg = MsgBox("置換しますか", vbYesNoCancel, "置換")
If MsgReg = vbYes Then Selection.Paste
If MsgReg = vbCancel Then Exit Sub
Selection.Find.Execute
Loop While Selection.Find.Found = True
MsgBox "置換が完了しました"
End Sub

(追記)
上記「(クリップボードに入れた)下付き文字を含む文字列に置換する」機能については、マクロを使わなくてもやる方法があります。この方法を先に知っていたらマクロは作らなかったかもしれません。
ワードの「置換」の窓で、「オプション」を表示させ、カーソルが「置換後の文字列」に入っている状態で「特殊文字」を押し、プルダウンメニュー中の「クリップボードの内容」を選べばいいのです。「特殊文字」が選択できないようでしたら、「あいまい検索」のチェックを外してみてください。
これで満足できるようでしたら、マクロまで挑戦しなくて良いでしょう。
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする