Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » 表内文字列を中央揃えにするPowerPointマクロ

表内文字列を中央揃えにするPowerPointマクロ

対象:PowerPoint 2010, PowerPoint 2013, Windows版PowerPoint 2016

「vbs powerpoint 表 フォント センタリング」
という検索キーワードで、アクセスがありました。

PowerPointの、表内の文字列をセンタリング(中央揃え)する、VBScriptを探していらした方による検索でしょう。

PowerPointの、表内文字列を操作するオブジェクトモデルは階層が深いので、PowerPoint VBAのコードをまずは確認することを、強くおすすめします。

[スポンサードリンク]

表内文字列をすべて中央揃えにするサンプルマクロ

以下のSubプロシージャを実行すると、アクティブプレゼンテーション先頭スライドの、2つ目のShape内に存在する表の、全文字列が中央揃えになります。

Sub 表内文字列をすべて中央揃えにする()
 With ActivePresentation.Slides(1).Shapes(2).Table

  Dim r As Long, c As Long
  For r = 1 To .Rows.Count
   For c = 1 To .Columns.Count

    .Cell(r, c).Shape.TextFrame _
      .TextRange.ParagraphFormat.Alignment _
      = ppAlignCenter

   Next c
  Next r

 End With
End Sub

テーブル内文字列は階層が深い

表の行に対するFor~Nextループの中で、
  For r = 1 To .Rows.Count

列に対するFor~Nextループを回します。
   For c = 1 To .Columns.Count

この2重ループの中で、TableオブジェクトのCellメソッドに行番号と列番号を指定して、各セルを表すCellオブジェクトを取得して、文字列を中央揃えにします。
    .Cell(r, c).Shape.TextFrame _
      .TextRange.ParagraphFormat.Alignment _
      = ppAlignCenter

階層が深いので、大きく3つに分解して理解しましょう。

1つは、表を表すTableオブジェクトを取得する部分、
  With ActivePresentation.Slides(1).Shapes(2).Table

つづいて、Table内の各セルを取得する部分、
   Dim r As Long, c As Long
   For r = 1 To .Rows.Count
    For c = 1 To .Columns.Count
     .Cell(r, c).Shape

最後に、各セル内の文字列を中央揃えにする、
     .Cell(r, c).Shape.TextFrame _
       .TextRange.ParagraphFormat.Alignment _
       = ppAlignCenter
の部分です。

Shape.TextFrame.TextRangeの部分は、表以外の文字列に対する処理でも頻出するオブジェクト式でもあります。

最終更新日時:2019-07-23 12:26

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » 表内文字列を中央揃えにするPowerPointマクロ

「表・テーブル」の記事一覧

検索


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

.