「python win32com pptx 図形 枠線」
「python win32com powerpoint 枠線」
といった検索でアクセスがありました。
PowerPoint上に存在する図形の枠線を設定するサンプル
先頭スライドに、図形が存在するプレゼンテーションファイルがアクティブな状態で、以下のスクリプトを実行してみてください。
pp_app = win32com.client.GetObject(Class='PowerPoint.Application')
line_fmt = pp_app.ActivePresentation.Slides(1).Shapes(1).Lineline_fmt.Visible = True
line_fmt.Weight = 10
先頭スライドに存在する1つ目の図形の枠線が、
line_fmt = pp_app.ActivePresentation.Slides(1).Shapes(1).Line
表示され、
line_fmt.Visible = True
10ポイントの太さに設定されます。
line_fmt.Weight = 10
PowerPoint VBAで図形の枠線を設定する
上述のpywin32・win32com.clientを使った処理は、以下のPowerPointマクロと実質的に同じです。
Dim line_fmt As LineFormat
Set line_fmt = ActivePresentation.Slides(1).Shapes(1).Line
line_fmt.Visible = msoTrue
line_fmt.Weight = 10
End Sub
以下のような階層を辿って、図形の枠線を表すLineFormatオブジェクトを取得して、
Presentationオブジェクト ← ActivePresentationプロパティ
└ Slidesコレクション ← Presentation.Slidesプロパティ
└ Slideオブジェクト ← Slides.Itemメソッド
└ Shapesコレクション ← Slide.Shapesプロパティ
└ Shapeオブジェクト ← Shapes.Itemメソッド
└ LineFormatオブジェクト ← Shape.Lineプロパティ
LineFormatオブジェクトのVisbleプロパティで表示状態を設定して、Weightプロパティで太さを設定しています。
COMアプリケーションであるPowerPointをpywin32comを介してPythonで操作するのか、VBAで操作するのかの違いです。
PowerPointのオブジェクトモデルを理解しましょう
PowerPoint VBAをあまりご存知ないまま、pywin32comを使ってPowerPointを操作するのは、なかなか大変なのではないかと思います。
拙著『いちばんやさしいPowerPoint VBAの教本』等を参考にしながら、最低でも、
Presentationオブジェクト
└ Slidesコレクション
└ Slideオブジェクト
└ Shapesコレクション
└ Shapeオブジェクト
といったオブジェクトモデルを、PowerPoint VBAで理解することをおすすめします。
PowerPoint VBAであれば、コードの入力補完やヒント表示も使えますし、オブジェクトモデルを理解するのに必須のオブジェクトブラウザーも使えますから。
Home » Python » pywin32・win32comの使い方 » pywin32でPowerPointの図形の枠線を設定する