(Wordマクロ)囲い文字の設定

囲い文字の設定をマクロで制御します。





囲い文字

パラメータについて

囲い文字はRange.ModifyEnclosureメソッドで設定します。
指定するパラメータは全部で3つあり、Styleのみ指定必須です。

パラメータ名 説明 指定必須か
Style 囲い文字の大きさを決定する
Symbol 囲い文字の形を決定する
EnclosedText 囲う文字列を決定する

各パラメータ詳細

Style

Styleには、WdEncloseStyle列挙型のメンバー3つのうちいずれかを指定します。

WdEncloseStyle列挙型のメンバー 説明
wdEncloseStyleNone 囲い文字なし
wdEncloseStyleSmall 外枠のサイズを合わせる
wdEncloseStyleLarge 文字のサイズを合わせる

<Styleの対象範囲>

Symbol

Symbolには、WdEnclosureType列挙型のメンバー4つのうちいずれかを指定します。省略可能で、指定がなかった場合は、円が選択されたものとみなされます。

WdEnclosureType列挙型のメンバー 説明
wdEnclosureCircle
wdEnclosureDiamond ひし形
wdEnclosureSquare 四角形
wdEnclosureTriangle 三角形

<Symbolの対象範囲>

EnclosedText

EnclosedTextには、実際に囲む文字列を指定します。EnclosedTextに複数の文字列を指定した場合、それらすべてが1つの図形で囲まれます。

<EnclosedTextに複数の文字列を指定した場合>

EnclosedTextに文字列を指定しなかった場合、複数の文字列を選択している場合であっても、選択範囲の先頭一文字のみ1つの図形で囲まれます。
また、文字列を指定せず、文字列を選択していなかった場合は、どの文字も囲まれることはありません

<EnclosedTextに文字列を指定しなかった場合>

さらに、囲い文字に置換機能はないため、ある文字(A)を選択した状態で、EnclosedTextに異なる文字列(B)を指定したとしても、(B)の文字列は挿入されず、(A)の文字列が1つの図形で囲まれます。

<文字列を選択している場合>

上記の内容をまとめると、以下の表の通りとなります。

EnclosedTextを指定している 文字列を選択している 結果
EnclosedTextの文字列は無視され、選択している文字列が図形で囲まれる
× EnclosedTextの文字列が挿入される
× 選択している文字列が図形で囲まれる
× × いずれの文字列も図形で囲まれない

使用例

丸番号の追加

Public Sub 丸番号21を挿入する()
Selection.Range.ModifyEnclosure _
Style:=wdEncloseStyleLarge, Symbol:=wdEnclosureCircle, EnclosedText:="21"
End Sub

直後の文字列を図形で囲む

Public Sub 直後の文字列を四角で囲む()
With Selection
    .MoveRight Unit:=wdCharacter, Count:=1, Extend:=True
    .Range.ModifyEnclosure _
    Style:=wdEncloseStyleLarge, Symbol:=wdEnclosureSquare
End With
End Sub




補足

挿入する図形の大きさを調整したい場合は、フィールドコードの操作が必要になります。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください