Python 自動化

python-pptxでスライドのテキストボックスを削除する方法

この記事は約3分で読めます。

 

Pythonのpython-pptxでスライド上の特定のテキストボックスを削除する方法について紹介したいと思います

 

関連記事:【Python】python-pptxでパワポの資料作成を自動化する

 

新規プレゼンテーション作成

 

まず、python-pptxパッケージをインポートします。

 

from pptx import Presentation
prs = Presentation()
#prs = Presentation(r"C:\Users\i~~~\○○.pptx")

 

スライド追加

 

# 最後のスライドデザインを指定
layout = prs.slide_layouts[1]
# 出力用スライド追加
slide = prs.slides.add_slide(layout)

# タイトルを追加
text_box = slide.shapes[0].text_frame
text_box.text = 'スライドタイトルXXXX'

# テキストが挿入されていない空白のスライドを削除する
for placeholder in slide.shapes.placeholders:
    if placeholder.has_text_frame and placeholder.text_frame.text == "":
        print("found one %s" % placeholder)
        sp = placeholder._sp
        sp.getparent().remove(sp)

 

このコードは、スライド上のすべてのシェイプを反復処理し、テキストフレームがあるかどうかを確認して、特定のテキストを含むテキストフレームを見つけます。その後、見つけたテキストボックスを削除し、スライドに保存します。

 

# 変更結果を保存する
prs.save('filename.pptx')

 

これにより、指定したテキストボックスが削除され、PowerPointファイルが更新されます。

 

まとめ

 

これらのステップを簡単にまとめると、次のようになります。

 

from pptx import Presentation

# Open PowerPoint presentation
prs = Presentation()

# Access slide object
slide = prs.slides[0]

# テキストが挿入されていない空白のスライドを削除する 
for placeholder in slide.shapes.placeholders: 
    if placeholder.has_text_frame and placeholder.text_frame.text == "": 
        print("found one %s" % placeholder) 
        sp = placeholder._sp 
        sp.getparent().remove(sp)
# Save the updated presentation
prs.save('filename.pptx')

 

初心者でも理解しやすいように、上記のコードはコメントで詳細に説明されています。特定のテキストを見つけるための条件式の変更により、必要なテキストボックスを削除できます。

 

関連記事:python-pptxで既存スライドのテキストボックスを編集する方法

 

関連記事:【Python】python-pptxでパワポにエクセルのグラフを追加する

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました