【Wordマクロ】字間を調整する | みんなのワードマクロ

みんなのワードマクロ

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

前回の記事「字間を調整する 」でご紹介したとおり、私はデザインという観点から字間を調整する体験をしました。

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




▼関連記事

ページの行数の調整マクロ

字間を調整する (体験談)