0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】Python経由でPowerPointにパスワードをかける方法(win32com)

Posted at

Python経由でパワポにパスワードをかける方法の紹介です。

Pythonからpowerpointを操作することのできるモジュールpython-pptxはファイルの保護に対応していません。 そのため、Pythonオンリーでpowerpointファイルにパスワードをかけようと思うとこちらの方法が候補になってくると思います。

動作条件

  • Windows
  • PowerPointのインストール

コード

from win32com.client.gencache import EnsureDispatch

# 以下は実際に使用するパスやパスワードを入れてください
input_path = 'hogehoge.pptx'
output_path = 'fugafuga.pptx'
password = 'mokomoko'

ppt_app = EnsureDispatch("PowerPoint.Application")
slide = ppt_app.Presentations.Open(input_path)
ppt_app.DisplayAlerts = False
slide.Visiable = False
slide.Password = password
slide.SaveAs(output_path)
slide.Close()
ppt_app.Quit()

Excelでは、SaveAsメソッドの引数にパスワードを設定しますが、PowerPointではPasswordメソッドでパスワード設定を行います

参考

win32comを利用した、同様の方法でエクセルにパスワードをかける方法はこちらの記事にて紹介されています。

(Excelにも、pythonから操作することができるopenpyxlというモジュールがあるのですが、このモジュールではファイルの保護ができないので、win32comを使った上記の方法が有効です)

Appendix

win32comの機能はVBAのAPIを使用しているため、基本的にはVBAのリファレンスに載っているメソッドを活用できます。OfficeのアプリケーションをPython(win32com)で動かしたいときはこのリファレンスを見ればスムーズに実装できるかと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?