「vbs powerpoint 表 フォント センタリング」
という検索キーワードで、アクセスがありました。
PowerPointの、表内の文字列をセンタリング(中央揃え)する、VBScriptを探していらした方による検索でしょう。
PowerPointの、表内文字列を操作するオブジェクトモデルは階層が深いので、PowerPoint VBAのコードをまずは確認することを、強くおすすめします。
表内文字列をすべて中央揃えにするサンプルマクロ
以下のSubプロシージャを実行すると、アクティブプレゼンテーション先頭スライドの、2つ目のShape内に存在する表の、全文字列が中央揃えになります。
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 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
- Newer:VBAで凡例の一部を削除する
- Older:VBAで改ページプレビューに
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » 表内文字列を中央揃えにするPowerPointマクロ