AIは編集しやすいPowerPointスライドを作れるか?

Banner with bold Japanese headline 'AIは編集しやすい PPTXを作れるか?' on a dark blue gradient, yellow underlines, SIOS Tech.Lab logo top-right, teal left stripe and hashtag pills below.

ども!ここしばらく、Slidevで作ったスライドをPowerPointで出す方法ばかり検証している龍ちゃんです。

僕は資料をSlidevで書いています。Markdownで書けるので中身がテキストのまま残るし、AIに書かせるのも直させるのも思いのままです。ただ社内に出すとなると、だいたいPowerPointが要求されるんですよね。PowerPointだったら誰でも編集できますもんね。

今回は、コードとして起こしていたスライドをPowerPoint形式にするための検証で、4パターンまで結論が出たのでまとめて紹介しようと思います。

この記事を読み終わると、自分がどの方法を選択するべきかが2つの質問で決まります。そして変換に何を使うかで、その先どこまで行けるかが決まることまで分かるはずです。

AIに資料を作らせるとして、どこまで任せるか

先に断っておくと、会社に出す資料がPowerPointなのは、ここでは前提として扱います。以前「MarpとSlidevの使い分け」の最後に「他部署の人が中身を直接いじる用途なら、素直にPowerPointが正解」と書いたんですが、今回はその扉をくぐる話です。

PowerPointじゃなくて、Claude Designでいいじゃん!とか言わないでください…

さて、AIに資料を作らせるといっても任せ方には幅があります。

  • 丸ごと任せる:手元のソースをそのまま放り込んで、構成から中身まで全部まとめてもらう
  • 変換だけ任せる:自分で書いた中身を渡して、PowerPointの形にするところだけやってもらう

どちらもAIを使っている点では同じ。違うのは、AIをどの工程に置くかだけなんですよね。

丸ごとAIに任せると、何が出てくるのか

過程から見ていきます。

丸ごと任せると、完成品が降ってきます。速いし、出てくるものもきれいです。ただ「なんか違う」となったときに手を入れる場所が途中にない。これは以前「AIに全任せしないデザインシステムの育て方」で書いた話で、そのときは「スライドは自分の話しやすさとセットで形になる」という理由を挙げました。今回はもうひとつ別の理由があります。

出てくるものの中身です。

実際に試しました。Slidevのデッキからデザインを落としたMarkdownを用意して、Claude Designに渡して33枚。ここは正直に書くんですが、WEB上で編集までできるうえに、打ち替えられるPowerPointファイルが本当に出ました。文字は395個のテキストとして生きていて、画像は1枚も貼られていない。

Claude Designに渡して出てきた33枚のPPTXを一覧にしたコンタクトシート。章扉は濃い地に白文字、本文ページは表・カード・コード例などがアクセントカラーで整えられていて、全体に見た目は整っている

見た目はこのとおりで、正直きれいです。

速さも見た目も良かったんですよ。ただPowerPointで開いてみると、403個の図形が全部バラバラに置かれていました。まとまりがないので、このパーツを使いたい、ここだけ動かしたい、となったときの調整が全部人間の手作業になります。PowerPointの強みってそこじゃないですか。掴んで、動かして、組み替える。それができない形で出てきている。

念のため、これは欠陥だと言いたいわけではないです。速いし、デザインもなんとなくきれいに整理されている。用途が違うだけです。ちなみにデザインでいうと提案ベースで出てくるのでClaude Designの圧勝だと思います。

その「用途が違う」というのは、こういうことです。バラバラの図形として出てくると、直すときに一番楽なのはClaude Designの上で直すことになります。つまり正本があちら側へ移る。1回きりの資料なら何も困りませんが、来年また使うとか、会社のテンプレートに載せ替えるとか、他の人が組み替えるとか、難しくなりますよね。

分かれ目はここです。掴んで動かせる形で欲しいか、そうじゃないか。

社内で共有するのであれば、PowerPointの側に正本を置いておきたいです。そのうえでAIの力は最大限享受したい。なので、Slidevでスライドを作り込んで、最終成果物だけPowerPointに変換するという思想で検証を進めています。なぜSlidevだとAIの力を最大限享受できるのかは後半に書いたので、気になったら読んでみてください。

AIと一緒に、実際どうやってPowerPointにするのか

変換のやり方は4つあります。自分のがどれかは、2つ答えれば決まります。

ひとつめ。会社のPowerPointテンプレートを使いますか。使わない、使いたいけど手元にない、ある、の3つで分かれます。

ふたつめ。作り込んだ図まで持っていきますか。デザインはPowerPoint側で作り込むと割り切って、テキストとスライド割だけ運ぶのか。それとも作り込んだ図まで運びたいのか。この質問は自分のデッキを思い浮かべれば答えられるはずです。

SlidevのスライドをPowerPointで出すときの分岐図。1つめの問いは会社のPowerPointテンプレを使うか。使わないならClaude Designに貼る、使いたいが手元にないならテンプレを自作する、あるなら2つめの問いへ。2つめの問いは作り込んだ図まで持っていくか。テキストとスライド割だけならレイアウトへ流し込む、図まで持っていくならAIに書かせて合体させる。なお会社のPowerPoint資料しか持っていない場合は、PowerPointからSlidevへ移す道がある

会社のテンプレートを使わないなら

中身を後段の変換器に渡して、PowerPointの形にしてもらいます。会社のロゴも配色も乗りませんが、テキストとスライド割は運べる。

一番簡単なのは、Slidevで書いた中身をそのままClaude Designに貼ることですね。ただ単純に文字編集ができるPPTXの取得が可能になります。

Claude Designに貼る道の流れ。入力はSlidevの中身(素のMarkdown)。取り込むものはテキストと構成(見出し・箇条書き)。出力は整った見た目のPPTXで、テーマが効かず図形もバラバラ

Claude Design側でテンプレートを作って、デザインを均一化する道もあります。こちらは深掘り検証をしてブログにまとめていくので、結論が変わるかもしれません。現時点では、編集はできるけどデザインの修正はClaude Design上でやるのが早い、という中途半端なPPTXが出てくる、という評価です。

会社のテンプレートを使いたいけれど、手元にないなら

テンプレートの方を、自分で作ります。

Slidevのテーマには、色もフォントも帯の太さも、手元で表示を確かめながら決めた値がもう書いてあるんですよね。その値を実測して、PowerPointのテンプレートをコードから起こす。デザインを決めるのはHTMLとCSSの世界でやって、決まったものだけをPowerPointへ持ち込む形です。

テンプレを自作する道の流れ。入力はSlidevのテーマ(CSS変数・レイアウト)。取り込むものは色・フォント・帯の値(繰り返す枠のデザイン)。出力はPowerPointのテンプレで、中身はこれから入れる

会社のテンプレートがあって、テキストとスライド割だけでいいなら

テンプレートが持っているレイアウトを選んで、枠にテキストを入れていく。それだけです。

書式も配置もテンプレート側が持っているので、こちらでは何も指定しません。だから出てくるのは再現ではなく、会社のテンプレートそのものの見た目。代わりに、持っていけるのはテキストとスライド割だけになります。こちらの手法では、デザインに関してはPowerPoint側で担保することになります。

レイアウトへ流し込む道の流れ。入力はSlidevから持ち出す中身(素のMarkdown)。取り込むものはテキストとスライド割で、そこへ会社のテンプレが合わさる(書式は指定しない)。出力は会社の見た目のPPTXで、図は入らない

会社のテンプレートがあって、作り込んだ図まで持っていくなら

1枚ごとの中身をAIにOOXMLで書かせて、会社のテンプレートと1枚のスライドの上で合体させます。

ロゴやヘッダーのような繰り返し出てくる部分は、テンプレート側に任せたまま。AIが書くのは、その枚にしか出てこない図だけです。出てきた図はカードごとに掴んで動かせます。

AIに書かせて合体させる道の流れ。入力はSlidevから持ち出すデッキ(図を含む中身)。取り込むものは1枚ごとの中身で、そこへ会社のテンプレが合わさる(作り込んだ図も)。出力は会社の見た目のPPTXで、図はカードごとに掴める

4つに上下はありません

念のため書いておくと、この4つに優劣はありません。テキストとスライド割だけを運ぶ道は、図まで運ぶ道の劣化版ではなくて、デザインはPowerPointに任せると割り切る判断そのものが結論になっています。

4つともAIを使っていて、違うのはAIをどの工程に置くかだけです。

共通の限界もひとつあります。HTMLとCSSで作ったものが、そのままの姿で運ばれるわけではありません。Vueのコンポーネントも凝ったCSSも、変換の過程で落ちます。図まで持っていく道でも、運んでいるのは見た目そのものではなく、AIがPowerPointの図形として書き直したものです。

それと、会社のPowerPoint資料の側しか持っていないなら、この分岐には乗りません。その場合は「会社のPowerPointの資料をSlidevへ移す話」へどうぞ。

変換に何を使うか

Slidevの中身をPowerPointにするとき、変換に何を使うかという話です。

前提を先に置いておくと、Slidevのpptx書き出しが編集できないのは、Slidevの欠陥ではありません。SlidevはHTMLとCSSをブラウザで描画してスライドにしているので、pptxに書き出すときは描画した結果を画像として貼るしかない。原理的にそうなります。だから出力を後から編集可能にしようとするのではなく、中身の方を別の変換器に渡します。

選択肢は3つあります。簡単な順に並べますね。

Claude Designに貼る。これが一番簡単で、見た目も一番いい。Slidevで書いた中身をそのまま渡せば、ワンステップで出てきます。ただし出てくる図形はテンプレートの枠に乗らないし、フォントも1文字ずつ直接指定されている。PPTX側で後からテーマを差し替えても見た目は変わりません。ここが行き止まりですね。

pandocを使う。コマンド1本で終わります。出てくるファイルは図形が全部テンプレートの枠に乗っていて、フォントの指定は1つも書き込まれていない。書式をテーマから継承する素直な形なので、後からテーマを差し替えれば見た目が変わります。渡すのはSlidevの記法を含まない素のMarkdownですね。

python-pptxを使う。手間は一番かかります。ここだけは自分でコードを書くことになるので、貼るだけ・コマンド1本とは手触りが違います。ただしテンプレを自作する道も、レイアウトへ流し込む道も、合体させる道も、全部これの上に乗っている。先へ行くというのは、変換にコードを挟む側へ回るということです。先へ進む気があるなら、これですね。

補足が2つあります。

Claude Designに会社のブランドを載せる道もあります。やることは、会社の.pptxから色やフォントの値を取り出して、それをHTMLとCSSの雛形に起こしてClaude Design側に登録する、という手順です。値が取り出せること自体は「会社のPowerPointの資料をSlidevへ移す話」で確かめました。あちらはSlidevへ移す話なので、ここで使うのは取り出しの部分だけです。登録まで持っていくとクラスメソッドさんの事例の形になります。ただし16種類の雛形をHTMLで起こす手間はテンプレートを自作する道とほぼ同じで、貼るだけという手軽さは無くなります。なお成果物はHTMLなので、PowerPointで出したときにどうなるかは僕も試していません。次の検証課題なので、まとめたらブログを追記します!

pandocの方には罠があって、会社のテンプレートを渡してもレイアウトは使ってくれません。--reference-docでテンプレートを指定できるんですが、pandocが探しに行くのはTitle SlideSection Headerといった英語のレイアウト名。決め打ちです。日本語版のPowerPointで作ったテンプレートは「タイトル スライド」「セクション見出し」のような名前になっているので、1つも一致しない。手元の2つで確かめたら、7枚のレイアウトが全部日本語名で、全部pandocの既定にフォールバックしました。ただし色とフォントは持ってこられます。テーマの部分だけは効くので、ブランドカラーとメイリオの指定は引き継がれました。ロゴも帯も配置も来ませんけどね。テンプレートを渡せば会社の見た目になる、とはいかない。pandocが決め打ちで持っている形に、こちら側を合わせにいく作業になります。

ここまでで足りる人も多いと思います。5分や10分のLTとか、社内の共有メモとか。人間が道筋をパッと立てて、どういう展開にするかだけ決めて渡せば、あとはすごくやりやすいですからね。そういう資料なら、Claude Designに貼るかpandocを通すかで足ります。

それでもSlidevで書き続けるのはなぜか

ここから先がある人向けに、僕がなぜSlidevの側に立っているかも書いておきます。

僕にとってSlidevは、資料の正本を置く場所です。色とサイズを縛るCSS変数、よく使うレイアウトと部品、それを使う作法を書いたCLAUDE.md。この一式を積み上げてきたのが「SlidevのデザインシステムをCSS変数とCLAUDE.mdで作る」で、スライドをレビューさせるエージェントも「3体に分けて」持っています。資料を作るときはこの仕組みの上に乗るので、けっこう爆速です。

AIには書かせています。ただし丸ごとは任せません。手元で見え方を確かめながら進めたいし、話の展開が文章のまま読めるから、流れが死んでいるのをスライドにする前に見つけられるんですよね。1枚ずつ作り上げながら詰めていく。この進め方そのものは「AIとスライドを作る進め方」に書きました。

でも、実際にスライドへ起こしてから見えるものもあるんですよね。論理的には要らないけど、人間が理解するには要る補足とか、たとえ話とか。ああいうものを捕まえられるのは、スライドの形にしたときです。だから流れの設計とスライドの生成は、行ったり来たりできる距離に置いておきたいんですよ。

はっきりさせておきたいのは、生成そのものは、どちらもAIがやっているということです。僕がSlidevで書くときもClaude Codeに書かせているので、速さで差がつくわけじゃない。差がつくのは、生成の前と後なんですよね。

後の方は、さっき書いた正本の話です。前というのは、話の流れを組み立てるところ。ひとつ前の章で5分や10分の資料なら貼るだけで足りると書きましたが、45分とか1時間のセミナーになると、話の流れが最初から決まっていることなんて絶対にないんですよね。何を先に置いて何を後に回すか、どこで一度まとめるか・小休止を作るか。そこを行ったり来たりしながら決めていく作業が要ります。僕の仕事にはこの長さの資料が結構あって、だからこの前段が消えません。

まとめ

以前「Claude Code × Slidev」で、Slidevのpptx出力について「画像が貼り付けられただけのファイルで編集はできない。配布用の最終形と割り切る」と書きました。配布して見てもらうだけなら、その割り切りは今も正しいと思っています。ただ、そこから先に道があった。中身を別の変換器に渡せば、編集できるPowerPointが作れるんですよね。

そして「MarpとSlidevの使い分け」の最後に書いた「他部署の人が中身を直接いじるならPowerPointが正解」という一言も、今回でようやく回収できた気がします。Slidevで書き続けたまま、出口だけPowerPointにする。それが今の答えです。

それと、ここまで読んで「自分は1回きりの資料しか作らないな」と思った人。それでいいと思います。Claude Designに貼れば、たぶん一番きれいなものが一番早く出ます。掴んで動かせる形が要るのは、その資料に先があるときだけです。

なお、変換器の実装をパターンごとの自作から固定化できないか、という論点も検証の中にはあります。ただこちらはまだ設計メモの段階なので、一行だけ触れておきますね。

ここに書いたのは、あくまで僕がこの道で出した結論です。SlidevからPowerPointへ渡すやり方は他にもあるはずで、これが唯一の答えだとは思っていません。

自分の資料がどれくらいの尺で、どこまで先があるのか。そこさえ決まれば、道は勝手に決まります。

ではまた!

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です