限りなき知の探訪

45年間、『知の探訪』を続けてきた。いま座っている『人類四千年の特等席』からの見晴らしをつづる。

百論簇出:(第278回目)『シニア・エンジニアのPython事始(その4)』

2023-11-12 10:08:16 | 日記
前回

講演などで、PPT(パワーポイント)を作成する時、目次をどのようにして作るだろうか? 

私は従来、PPTを開き、【表示】==>【標準】で「アウトライン」でテキストを表示させ、「^C + ^V 」でテキストを抜き出し、テキストエディターにコピーして整形してから、目次ページにコピーしていた。しかし、この方法だとタイトルページだけでなく、PPT本体の文章も全部入ってしまうため、不要部分を削除するのに、かなり手間がかかっていた。長い間、どうすればよいか分からなかったが、最近Pythonの威力を知ったので、ひょっとしてタイトルだけを抽出するPythonプログラムもあるのではないか、と探すした。いくつか見つかった中で、最もすっきりしているのが、以下に示すプログラムだ。

"get the title of slides of pptx file using Python"
------------------------
from pptx import Presentation

prs = Presentation("pp.pptx")

# text_runs will be populated with a list of strings,
# one for each text run in presentation
text_runs = []

for slide in prs.slides:
    for shape in slide.shapes:
        if not shape.has_text_frame:
            continue
        for paragraph in shape.text_frame.paragraphs:
            for run in paragraph.runs:
                text_runs.append(run.text)
------------------------

このプログラムは処理の骨格部分だけなので、これにインプットとアウトプットのファイル名を入れる部分をちょこっとだけ付け加えて、所望の機能が実現できた。



【閑話休題】

さて、私は講演や企業研修で、パワーポイントを作る機会が多いが、パワーポイント本体を完成させる時、極めてアナログ的な手法を使っている。それは、スライドの順番を決めるときだ。

たいていの人は、PPTの「スライド一覧」で全体を見渡しながら、マウスでスライドをパズルのように動かすであろう。私も当初は、このようなやり方をしていたが、なかなか使いづらい。つまり、スライド全体の視認性が極めて悪いのだ。ノートパソコンを使っているせいもあるが、スライドが20枚以上ある資料を作成しようとすると、スライドの全体が1つの画面に収まりきれない。下の部分を見ようとすると上の部分を見ることができないし、あるいは、スライドを移動する時、どこかにひっかかってしまい、移動がスムーズにいかないことも発生していた。

そこで考えたのが、超超アナログ的なやりかただ。

まず、スライドを作る時は、順序を余り考えず、書きたい項目を思いつくまま、即座にスライドに書き込んでいく。そうして大体予定の枚数に到達したら、項目や内容をざっと確認したあと、スライド全部を縮小プリントする。この時、スライド16枚をA4一枚にプリントする。印刷された紙に各スライド番号を書き込んからハサミでトランプのカードのようにスライド一枚ごと切っていく。このカードを広い床の上に並べて、話の内容がスムーズにつながるように順番を組み替えていく。順番が確定すれば、細い短冊型の紙にこれらの縮小スライドを貼り付けていくのだ。順番入れ替えや、短冊に貼り付けていくときに、足りない項目が思いついたなら、白紙にその旨を書いて、短冊に貼り付ける。あとは、この順番に従ってPCでPPTの順番を入れ替えるのである。

この方法は、プリントしたり、ハサミで切ったり、短冊に貼り付けたりと、かなり手間がかかるように思われるかもしれないが、実際にやってみると、パソコンで処理するより数倍早い。世の中では、なんでもかんでもデジタル化すれば効率アップになると思っているようだが、考えをじっくり練るにはデジタルだけ、PCだけでは足りない。デジタルとアナログのいいとこ取りした作業方法を考えいくべきだ。

続く。。。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする