PowerPoint(パワポ)のスライドをレイアウトや文字装飾そのままに自動翻訳する方法

PowerPointVBA

すぐに使えるPowerPointファイルを用意しました。ダウンロードして活用ください。
ZIPパスワードは1234です。

プレゼンテーションを行う際、多言語対応が求められることが増えてきました。特にグローバルなビジネス環境では、異なる言語の聴衆に対して同じ情報を提供する必要があります。しかし、手作業でスライドのテキストを翻訳し、元のレイアウトやフォーマットを維持するのは非常に手間がかかります。そこで、PowerPointマクロとChatGPTのAPIを活用して、スライドのレイアウトや装飾をそのままに、効率的に翻訳する方法をご紹介します!

OfficeのVBAを使って、ChatGPTやDALL-E 3などのAPIを活用し、リボンUIに「スライド生成」や「画像解析」などのメニューをアドインとして実装する方法を解説した書籍を執筆しました。本書を使えば、Officeを簡単に生成AI対応にできます。発売から3か月でAmazonベストセラー1位になり、多くの方にご好評をいただいています。購入者特典として、出版社のサイトからアドインをダウンロードできるので、ぜひお試しください。参考になれば嬉しいです。

レイアウトと文字装飾を維持する重要性

スライドのレイアウトと文字装飾は、情報の伝達力を高めるために非常に重要です。テキストの配置、フォントの選択、色使いなどが一貫していることで、視覚的な理解が促進されます。以下は、レイアウトと文字装飾を維持することの主な利点です。

  1. 視覚的一貫性の維持: レイアウトや装飾が変わらないことで、視覚的な一貫性が保たれ、聴衆が情報を整理しやすくなります。
  2. 重要な情報の強調: 太字や色などの装飾は、重要な情報を強調するために使われます。これを維持することで、聴衆にとって重要なポイントが見やすくなります。
  3. プロフェッショナルな印象: 一貫したデザインはプロフェッショナルな印象を与え、ブランドイメージの向上に寄与します。
  4. プレゼンテーションの効果向上: レイアウトと装飾を維持することで、重要なポイントが強調され、プレゼンテーションの効果が向上します。

ChatGPTを活用した翻訳の実現方法

PowerPointVBAを用いてChatGPTのAPIを呼び出し、PowerPointスライドのテキストを翻訳、レイアウトや文字単位の装飾をそのまま維持する方法について解説します。この方法では、PowerPointの装飾付きテキストをHTMLに変換し、翻訳後に再度HTMLからPowerPointの装飾付きテキストに変換する手法を活用します。

メリット

  1. 自動化による効率化: 手作業での翻訳やレイアウト調整の手間を大幅に削減できます。
  2. 高品質な翻訳: ChatGPTの高い翻訳精度により、自然で正確な翻訳が可能です。
  3. 装飾情報の保持: HTML形式を介することで、文字単位の装飾情報をそのまま維持できます。

そのまま翻訳プロセスの概要

  1. スライド内のテキストを順に取得: スライドに存在するシェイプや表など全てのテキストを順に取得します。
  2. テキスト全体をHTMLに変換: テキストとその装飾をHTML形式に変換します。
  3. ChatGPT APIでテキストを翻訳: HTML形式のテキストをChatGPT APIを使用して、HTMLのタグの意味が損なわれないよう翻訳します。
  4. HTMLから元のテキスト形式に変換: 翻訳されたHTML形式のテキストを、FontColorやBold、Italicのタグ情報をPowerPointの装飾に変換しながら、装飾付きテキストに戻します。

この方法により、文脈を保ちながらテキスト全体を正確に翻訳し、元のフォーマットと装飾を保持することができます。

ポイントは2点あります。PowerPoint内の装飾付きテキストをマクロでHTMLに変換することと、そのHTMLをChatGPTにそのまま翻訳させることです。賢いChatGPTはHTMLのタグを解釈し、色や太字などの装飾を理解しながら翻訳を行います。これにより、装飾を損なうことなく正確に翻訳されたテキストが得られるのです。

翻訳したスライド結果

このように、スライド内のレイアウトや、文字単位の装飾も継承されていることがわかります。

翻訳前の日本語スライド
翻訳後の英語スライド

コードの解説

次のコード全てを、PowerPointのモジュールに貼り付け、翻訳したいスライドを選択した状態で「スライドそのまま翻訳」を実行します。

実行に必要なFunctionプロシージャ「ChatGPT」のコードはこちらで紹介していますので、併せてご利用ください。

メインプロシージャ

テキストフレームの処理

スマートアートノードの処理

フォントサイズ調整処理

装飾付きテキストをHTMLに変換

HTMLコードを装飾付きテキストに適用

RGB処理

ChatGPTへのリクエストプロンプト

Htmlを翻訳させるプロンプト、ここが一番の試行錯誤でした。

長いコードにお付き合いありがとうございました。
それでは、よいPowerPointVBAライフを!

コメント

タイトルとURLをコピーしました