Skip to content

PowerPoint のノートを削除する Python スクリプト

python-pptx を利用して PowerPoint のノートだけ、削除するサンプルをメモしておきます。

検証環境

対象 バージョン
macOS 14.4
Python 3.12.2

事前準備

事前に python-pptx をインストールしておきます。

1
python3 -m pip install python-pptx

サンプルスクリプト

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python3

import glob

import argparse
import pptx

def delete_notes(path):
    p = pptx.Presentation(path)
    for slide in p.slides:
        slide.notes_slide.notes_text_frame.text = ""
    p.save(path)
    print(path)

def main():
    parser = argparse.ArgumentParser("Note Wiper")
    parser.add_argument("target", nargs="*")
    parser.add_argument("-r", "--recursive", action="store_true")
    args = parser.parse_args()
    if len(args.target) == 0:
        args.target = ["."]
    if args.recursive:
        search = "/**/*.pptx"
    else:
        search = "/*.pptx"
    for target in args.target:
        for path in glob.glob(target + search, recursive=True):
            delete_notes(path)


if __name__ == "__main__":
    main()