PDF資料をPowerPointで修正したいのに、AcrobatReaderでは編集できなくて困ったことはないでしょうか。Wordで開くとレイアウトが崩れるし、勤務先ではインターネット環境でのアップロードが禁止されているのでオンラインの変換サービスも使えない、有償のAdobeや変換ソフトもない、そんなときに役立つのが我らがVBAです。
PDFの見た目をできるだけ保ちながら、文字をPowerPoint上で編集できるようにするVBAツール「PDFパワポ変換」を作成しました。PowerPointのマクロでPDFを解析し、編集可能なPPTXファイルを作成します。

できること
- レイアウト重視と編集重視(テキストを結合)の2種類から選択
- PDF内の文字をPowerPointの編集可能なテキストへ変換
- 文字位置、フォントサイズ、文字色、太字、斜体を可能な範囲で再現
- 写真、罫線、塗り、グラフなどは背景画像として保持
- 複数のPDFファイルを選択して連続変換
- 途中のPDFでエラーが発生しても、残りの変換を継続
変換結果は、元のPDFと同じフォルダーへ「元のファイル名-editable.pptx」という名前で保存されます。同名ファイルがある場合は、自動的に連番を付けます。
2つの変換モード
レイアウト重視
文字を細かい単位で配置し、元PDFの位置や書式を優先します。表、帳票、契約書、段組み文書など、見た目を崩したくない場合に向いています。
編集重視(テキストを結合)
同じ段落に属すると判断した行を、できるだけ1つのテキストボックスへまとめます。文章をまとめて修正しやすくなります。
行間、インデント、文字サイズ、文字色、太字、段落番号などを見ながら結合しています。ただし、PDFには「この文字列は同じテキストボックス」という情報が必ずしも残っていないため、すべてのPDFで完全に再現できるわけではありません。
使い方
- 配布ZIPを展開します。
- 「PDFパワポ変換.ppsm」をダブルクリックします。
- マクロがブロックされた場合は、ファイルの安全性を確認したうえで有効化します。
- 「レイアウト重視」または「編集重視(テキストを結合)」をクリックします。
- 変換するPDFを選択します。CtrlキーやShiftキーを使って複数選択できます。
複数ファイルを選択した場合は、変換結果を大量に開かず、PPTXファイルの保存だけを行います。最後に成功件数と失敗件数を表示します。
ダウンロード
配布物には、Apache PDFBoxと小型のEclipse Temurin Java Runtimeを同梱しています。JavaやPDFBoxを別途インストールする必要はありません。VBAプロジェクトのロックもかけていませんので、安心してご利用いただけます。
注意点
- スキャンPDFや画像化された文字は編集可能になりません。OCR機能はありません。
- PDFで使われているフォントがPCにない場合は、近いフォントへ置き換えられます。
- 縦書き、文字回転、特殊な文字間隔は完全に再現できない場合があります。
- 複雑な表では編集重視よりレイアウト重視のほうが安定します。
- パスワード保護されたPDFは変換できない場合があります。
- 会社PCなどで利用する場合は、組織のマクロ・Java実行・ソフトウェア利用規則を確認してください。
仕組み
PDFBoxでPDFを解析し、文字を除いたページ画像と、文字の位置・サイズ・色・フォント情報を作成します。PowerPoint VBAはページ画像を背景として配置し、その上へ透明なPowerPoint図形として文字を重ねます。
図や罫線をすべてPowerPoint図形へ変換する方式ではありませんが、背景画像を利用することで見た目を保ちつつ、本文を編集できる実用的な構成にしています。
それでは、よいPDF/VBAライフを!
使用ライブラリ
- Apache PDFBox 3.0.7(Apache License 2.0)
- Eclipse Temurin / OpenJDK 21(GPLv2 with Classpath Exception)
ライセンス文書と第三者ソフトウェアの通知は、配布ZIP内に同梱しています。

コメント