Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 文字間隔を変更するパワポマクロ

文字間隔を変更するパワポマクロ

動作検証バージョン:Windows 11 Home + 64bit PowerPoint バージョン 2501(ビルド18429.20132クイック実行)

PowerPointでは、[フォント]ダイアログボックス-[文字幅と間隔]タブで、文字間隔を変更することができます。

ですが、このダイアログボックスを閉じないと、どれくらいの文字間になったのを確認できないため、とても使い辛いと私は感じます。

[スポンサードリンク]

非表示になっているコマンドがないかと探してみたものの見当たらないので、PowerPoint VBAでマクロを作りました。

文字間隔を変更するサンプルマクロ

文字列の入力されている図形をPowerPoint上で選択しておいてから以下のマクロを実行すると、その図形内の文字間隔が0.5ポイント狭くなります。

Sub 選択されている図形内文字列の文字間隔を狭くする()
 With ActiveWindow.Selection
  
' 何も選択されていない・スライドが選択されているときには終了
  If .Type = ppSelectionNone Or .Type = ppSelectionSlides Then Exit Sub
' 文字を入れられない図形が選択されているときにも終了
  If Not .ShapeRange.HasTextFrame Then Exit Sub
' 文字列が選択されているときには図形の選択状態にする
  If .Type = ppSelectionText Then .ShapeRange.Select
  
' Font2.Spacingの値を0.5ポイントずつ減らして文字間隔を狭くする
  With .TextRange2.Font
   .Spacing = .Spacing - 0.5
  End With

 End With
End Sub

VBE(Visual Basic Editor)とPowerPointの両方を並べておいて、VBEのショートカットキー[F5]を押しっぱなしにすれば、選択されている図形内の文字間隔がどんどん狭くなります。

サンプルマクロで行っている処理


主たる処理は、最後のほうの以下の部分です。

  With .TextRange2.Font
   .Spacing = .Spacing - 0.5
  End With

Office.Font2オブジェクトのSpacingプロパティを0.5ポイント減らしているだけです。
ここを以下のように増やす処理に変更すれば、文字間を広げるマクロになります。

  With .TextRange2.Font
   .Spacing = .Spacing + 0.5
  End With

この処理を行ったときに実行時エラーが発生しないよう、事前に以下のようなIf文を入れています。

 With ActiveWindow.Selection
  
' 何も選択されていない・スライドが選択されているときには終了
  If .Type = ppSelectionNone Or .Type = ppSelectionSlides Then Exit Sub
' 文字を入れられない図形が選択されているときにも終了
  If Not .ShapeRange.HasTextFrame Then Exit Sub
' 文字列が選択されているときには図形の選択状態にする
  If .Type = ppSelectionText Then .ShapeRange.Select

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 文字間隔を変更するパワポマクロ

「TextFrame・TextRange」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.