【Wordマクロ】文字列の前後に括弧を付ける | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

今、翻訳パワーアップ合宿 のセミナー資料を作成しています。

このセミナーでは、パソコンの設定や操作方法を紹介しますが、その中で、各種ショートカットキーを扱います。Wordだけでなく、Excel、PowerPointのものも多数紹介します。

そのときに、資料内でキーの表記の揺れ(Shift、[Shift])があり、その調整をする必要が出てしまいました。

あまりにも数があるので、マクロを書いてみました。


▼このマクロでできること
選択した文字列の前後に角括弧を付けます。
文字列を選択していない場合、単語単位で選択範囲を広げて、その前後に角括弧を付けます。


・文字列を選択しない場合
(実行前)


(実行後)


・文字列を選択した場合
(実行前)
末尾に半角スペースも含んでいます。

(実行後)
末尾の半角スペースの前に角括弧を挿入します。



▼マクロの解説

文字列が選択されているかの判定は、おなじみのTypeプロパティを使います。

英語の文字列を単語単位で選択すると、最後に半角スペースが含まれてしまいます。
その半角スペースを除外する処理が赤文字部分です。

半角スペース(Chr(32))だけではなく、タブや改行記号等も除外するようになっています。

文字の入力は、InsertBeforeとInsertAfterのメソッドで実施します。

今回は半角の角括弧で文字列を囲いますが、書き換えれば丸括弧も挿入できます。


▼マクロ

Sub 文字列の前後に括弧を付ける()

 If Selection.Type = wdSelectionIP Then
  Selection.Expand Unit:=wdWord
 End If
 
 With Selection
  .MoveEndWhile _
   Cset:=Chr(32) & Chr(9) & Chr(11) & Chr(12) & Chr(13) & Chr(14), _
   Count:=wdBackward

  .InsertBefore "["
  .InsertAfter "]"

  .Collapse Direction:=wdCollapseEnd
 End With
 
End Sub




▼関連記事

【Wordマクロ】文字列を選択範囲の前後に挿入する