前回の記事「字間を調整する
」でご紹介したとおり、私はデザインという観点から字間を調整する体験をしました。
Wordでもっと便利に字間調整をしてみたくなりまして(笑)、マクロにしてしまいました。
これは、もともとWordが持っている機能を使いやすくしたマクロです。
考え方としては、ページの行数の調整マクロ
に近いですね。
▼このマクロでできること
カーソルを置いた位置または、選択された文字列の字間を調整できます。
広く、狭く、また標準に戻すことができます。
複数の字間を同時に調整する場合には、それら字間がすべて同じ値である必要があります。
異なる字間を同時に選択して調整しようとしても、マクロでは何の変化もでませんのでご了承ください。
Wordの通常の仕様では、文字列が選択されていないと字間を調整することができません。
このマクロでは、字間を調整する部分にカーソルを置いたとき(例えば、「20」の数字の間隔を調整するために「2」と「0」の間にカーソルを置いたとき)にも字間の調整ができます。
これは、アドビのイラストレーターの仕様をまねしています。
▼マクロの解説
字間を調整するために、文字列の右側にある間隔を変化させます。
なので、カーソルがおかれた位置の間隔を調整する場合には、カーソルの左側の文字の字間を調整すればよいことになります。
青字部分で、カーソルの左側の文字を指定します。
文字列が選択されている場合には、その文字列の字間を調整します。
マクロは3つあります。
それぞれの操作の違いは赤字部分だけです。
字間は、Spacingプロパティで設定します。
▼マクロ
3種類あります。広げるもの、狭くするもの、標準に戻すものです。
Sub 字間を広く()
Dim myRange As Range
Set myRange = Selection.Range
With myRange
If .Start = .End Then
.Start = .Start - 1
End If
.Font.Spacing = .Font.Spacing + 0.1
End With
End Sub
Sub 字間を狭く()
Dim myRange As Range
Set myRange = Selection.Range
With myRange
If .Start = .End Then
.Start = .Start - 1
End If
.Font.Spacing = .Font.Spacing - 0.1
End With
End Sub
Sub 字間を標準()
Dim myRange As Range
Set myRange = Selection.Range
With myRange
If .Start = .End Then
.Start = .Start - 1
End If
.Font.Spacing = 0
End With
End Sub
▼関連記事
ページの行数の調整マクロ
字間を調整する
(体験談)