(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
補足
挿入する図形の大きさを調整したい場合は、フィールドコードの操作が必要になります。
最近のコメント