傍点マクロの改良(Word)
傍点マクロの改良
目次
傍点マクロのイマイチなところ
このときに紹介した傍点マクロ。
便利だと思っていたが、ショートカットキーでサクッと使えるようになると、コロナの弱点が見えてきた。大阪府の吉村知事ばりに!
こいつをご覧ください。
おわかりだろうか。傍点を施した箇所が選択されたままなのである。
しかも!
続けて文字を入力すると、このようなみじめな状態になるのである!
これはめちゃくちゃ不便である!
……ではなくって、さあ改良だ!
傍点マクロを改良する
前回のリストを参考に再掲する。
リスト1
Public Sub AddEmphasisMain() Static hasShown As Boolean Call AddEmphasisMark If Not hasShown Then Debug.Print "ショートカット キーは、[Ctrl]+[Alt]+[@]や。" hasShown = True End If End Sub Public Sub AddEmphasisMark( _ Optional ByVal EmphasisMarkType As WdEmphasisMark = _ wdEmphasisMarkOverComma) Dim rng As Range Set rng = Selection.Range rng.EmphasisMark = EmphasisMarkType End Sub
AddEmphasisMarkMain
からAddEmphasisMark
メソッドを呼び出す形にしている。
AddEmphasisMark
メソッドには、傍点を打つことに専念してもらい、傍点を打った後の処理は、呼び出し側のAddEmphasisMarkMain
でやることにする。
変更後のコードを示す。
リスト2
Public Sub AddEmphasisMain() Static hasShown As Boolean Call AddEmphasisMark If Not hasShown Then Debug.Print "ショートカット キーは、[Ctrl]+[Alt]+[@]や。" hasShown = True End If Call Selection.Collapse(wdCollapseEnd) '……(1)' Selection.Font.EmphasisMark = wdEmphasisMarkNone '……(2)' End Sub Public Sub AddEmphasisMark( _ Optional ByVal EmphasisMarkType As WdEmphasisMark _ = wdEmphasisMarkOverComma) Dim rng As Range Set rng = Selection.Range rng.EmphasisMark = EmphasisMarkType End Sub
二箇所コードを追加している。
まず、(1)の
Call Selection.Collapse(wdCollapseEnd)
で選択箇所を潰し、(2)の
Selection.Font.EmphasisMark = wdEmphasisMarkNone
で現在カーソルのある箇所(傍点を施した文字列直後の位置)を傍点なしにする。
これだけ。
使ってみる
傍点を施したい箇所を選択して、ショートカットキーでマクロを起動してみる。
ふふふ。快適だ。
終わりに
こういう小さなマクロを作るのが、Wordの場合は特に面白いと思います。
関連記事