「python ppt table セル結合」
という検索でアクセスがありました。
PowerPointファイル内に存在する表のセルを、Pythonで結合するにはどうすればいいのかを調べていた方による検索です。
python-pptxで表のセルを結合するサンプル
先頭スライドの2つ目の図形(プレースホルダー)に、表が存在するプレゼンテーションファイルsamp_org.pptxを、Cドライブのtempフォルダーに用意してから以下のスクリプトを実行してください。
prs = pptx.Presentation(r'C:\temp\samp_org.pptx')
tbl = prs.slides[0].shapes[1].table
cel_a = tbl.cell(0, 0)
cel_z = tbl.cell(1, 1)
cel_a.merge(cel_z)
1行目×1列目のセルから2行目×2列目までの4個のセルが結合された、samp_new.pptxプレゼンテーションが、Cドライブtempフォルダーに作成されます。
_Cell.merge()メソッドでセルを結合できる
セルの結合を行っているのは、
cel_a.merge(cel_z)
の行です。
_Cellオブジェクトに用意されているmerge()メソッドで、セルを結合できます。
Excel VBAやxlwingsとの違い
Excel VBAの場合、セル範囲を表すRangeオブジェクトのMergeメソッドで、セル範囲が結合されます。
例えば、
Range("A1:B2").Merge
というExcel VBAのコードで、アクティブシートのA1:B2セルが結合されます。
xlwingsの場合も似たようなコードでセルを結合できます。
これに対し、python-pptxを使う場合には、結合する起点であるセルを表す_Cellオブジェクトのmerge()メソッドを使用し、どのセルまで結合するかを引数に指定します。
上記のサンプルの場合、起点となる1行目×1列目のセルがcel_aで、
cel_a = tbl.cell(0, 0)
cel_z = tbl.cell(1, 1)
cel_a.merge(cel_z)
終点となる2行目×2列目のセルがcel_zです。
cel_a = tbl.cell(0, 0)
cel_z = tbl.cell(1, 1)
cel_a.merge(cel_z)
最終更新日時:2023-04-17 11:12
Home » Python » python-pptxの使い方 » python-pptxでPowerPointのセルを結合する-_Cell.merge()メソッド