PowerPointはテキストボックスを作成したときに、文字の周りに余分な余白が入る初期設定になっています。
余白が入っていると整列時に余白分のずれが生じたり、文字とプレースホルダーとの範囲の差が大きくなり、感覚的に囲み選択がしづらくなります。
余白、ダメ。ゼッタイ。
テキストボックスの余白を確認する
新規ファイルにテキストボックスを作成し、余白の値を確認してみましょう。
テキストボックスを選択し、「図形の書式設定」ウィンドウ →「文字のオプション」→「テキストボックス」の「余白」を確認すると、左右に「0.25cm」、上下に「0.13cm」の余白が入っています。
この初期値は何のため?
テキストボックスの余白をなくす
余白の値をすべて「0cm」に設定します。
余白がなくなりスマートなテキストボックスになりました。
余白をなくしておくとテキストボックスを囲み選択する時の空振りが減り、図形との整列もしやすくなります。
ないほうが作業しやすいよ。
余白の設定を保存する
テキストボックスを右クリックしてメニューを開き、「既定のテキストボックスに設定」を選択し、余白の設定を保存します。
余白の設定の他にフォント、フォントサイズ、文字色などが初期設定として保存されます。保存したファイルで新規テキストボックスを作成すると、保存した値が引き継がれるので繰り返し設定する必要がありません。
別ファイルには引き継がれません。
最大まで余白をなくす
上図のように余白を「0cm」にした状態でも、プレースホルダーと文字の間には余白があります。
この余白をさらに詰める方法です。
テキストボックスを選択し、「図形の書式」タブ →「ワードアートのスタイル」グループ →「文字の効果」→「変形」→「四角」を選択します。
プレースホルダーと文字の間の余白がなくなりました。
テキストボックスの余白を「0cm」にするマクロ
手動で余白を「0cm」にするのは手間なので、マクロで行うと効率的です。
コード
Sub テキストボックスの余白を0にする() Dim nowTop As Single Dim nowLeft As Single Dim nowMarginTop As Single Dim nowMarginLeft As Single With ActiveWindow.Selection 'テキストボックスが選択されていない場合はマクロ終了 If .Type = ppSelectionNone _ Or .Type = ppSelectionSlides Then MsgBox "テキストボックスを選択してください。" Exit Sub End If 'テキスト編集モードの場合はシェイプを選択 If .Type = ppSelectionText Then .ShapeRange.Select With .ShapeRange '現在の位置を代入 nowTop = .Top nowLeft = .Left With .TextFrame '現在の余白を代入 nowMarginTop = .MarginTop nowMarginLeft = .MarginLeft '余白を0にする .MarginLeft = 0 .MarginRight = 0 .MarginTop = 0 .MarginBottom = 0 'テキストに合わせて図形のサイズを調整する .AutoSize = ppAutoSizeShapeToFitText End With '元の位置に移動 .Top = nowTop + nowMarginTop .Left = nowLeft + nowMarginLeft End With End With End Sub
手動で余白を「0cm」にすると余白分だけテキストボックスが移動し、元の位置からずれてしまいます。そのため、レイアウトを組んだあとでは余白の変更がしづらくなります。
ずれ問題を解決するためにマクロの処理では、余白を「0cm」にした後、元の位置に移動させる設定にしています。