Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 行間を1ポイント広くするPowerPointマクロ

行間を1ポイント広くするPowerPointマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010

『Wordマクロで作業スピードアップ』セミナーでインスパイアされ作った、文字のサイズを1ポイント大きくするPowerPointのマクロをご紹介しました。

フォントサイズを少しずつ大きくできるようになると、行間のほうも少しずつ広げたいという気持ちもわいてきます。

そんなマクロをVBA(Visual Basic for Applications)で作ってみました。

[スポンサードリンク]

フォントを1ポイントずつ大きくするマクロとよく似ていますが、行間については行数で行間が指定されているときと、ポイント数で指定されているときがある点に注意しなければなりません。

▼行間を1ポイント広げるマクロ

Sub 行間を1ポイント広くする()
'行間を1pt広げる

 Dim pt As Long

 With ActiveWindow.Selection
  
  'シェイプが選択されていない場合はマクロを終了する
  If .Type = ppSelectionNone Or .Type = ppSelectionSlides Then
   MsgBox "行間を変更したいプレースホルダなどを選択してください。"
   Exit Sub
  End If
  'テキスト編集モードの場合にはシェイプを選択する
  If .Type = ppSelectionText Then .ShapeRange.Select
  '自動調整をオフにする
  .ShapeRange.TextFrame.AutoSize = ppAutoSizeNone
  
  With .TextRange
   '元の行間を取得
   If .ParagraphFormat.LineRuleWithin = msoTrue Then
    '行数で設定されている場合はフォントサイズ行間からptを計算
    pt = .Font.Size * 1.2 * .ParagraphFormat.SpaceWithin
   Else
    'ポイント数で設定されている場合はそのままポイント数を取得
    pt = .ParagraphFormat.SpaceWithin
   End If
   '行間をポイント数で指定するように設定
   .ParagraphFormat.LineRuleWithin = msoFalse
   '行間を1ポイント広げる
   .ParagraphFormat.SpaceWithin = pt + 1
  End With
 
 End With

End Sub

シェイプが選択されていないときにマクロを終了する、テキスト編集モードのときにシェイプを選択する、自動調整をオフにするところまでは、既にご紹介しているフォントサイズを1ポイント大きくするマクロと同じです。

元の行間・現状の行間を取得する部分では、まずLineRuleWithinプロパティで
   If .ParagraphFormat.LineRuleWithin = msoTrue Then
行間が行数で指定されているか、ポイント数で指定されているかを調べ、行数指定されている場合は、
    pt = .Font.Size * 1.2 * .ParagraphFormat.SpaceWithin
フォントサイズサイズや行間などから、行間をポイント数にして変数「pt」に格納します。

私の環境では、フォントサイズ・文字サイズの1.2倍で丁度良く行間変更できるようでしたので、ここでは「1.2」を掛け算していますが、上手くいかない場合は調整してください。

ポイント数で設定されている場合は
    pt = .ParagraphFormat.SpaceWithin
そのままポイント数を変数「pt」に格納します。

元の行間・現状の行間を取得できたら、行間をポイント数で指定するように設定し、
   .ParagraphFormat.LineRuleWithin = msoFalse
行間を1pt広げています。
   .ParagraphFormat.SpaceWithin = pt + 1

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » TextFrame・TextRange » 行間を1ポイント広くするPowerPointマクロ

「TextFrame・TextRange」の記事一覧

検索


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

.