PPT Excelのデータごとにスライドを作成するPowerPointマクロ [PPT]
PPT Excelのデータごとにスライドを作成するPowerPointマクロ
対象:PowerPoint2007, PowerPoint2010, PowerPoint2013
Excelのデータ1件ごとにPowerPointのスライドを作成する、Excelマクロをご紹介しました。
同じことを、PowerPointマクロで行うことも可能です。
Excelのデータごとにスライドを作成するサンプルマクロ
仕様は、前回ご紹介した、Excelマクロと同じです。
フィールドは3列で、1行目からデータが入っていて、データ1件ごと・1レコードごとに、PowerPointのスライド1枚ごとに、1行3列の表の形にします。
"PPT-2021-4-30 188-1"
"PPT-2021-4-30 188-2"
Excelが開かれていて、元データの含まれるワークシートが一番上にある状態で、上記のPowerPointマクロを実行すると、確認メッセージが表示されたあとに[はい]ボタンをクリックすると、PowerPointの末尾にスライドが追加されていきます。
サンプルマクロの解説
PowerPoint側から、Excelデータを引っ張ってきてスライドを作る場合、データの入力されているExcelファイルをどう指定するのかが、一つのポイントです。
ファイルを指定するダイアログをマクロの中で表示する方法、定数にExcelファイルのフルパスを指定する方法などが考えられますが、今回は、開いているExcelファイルの一番上になっている・アクティブシートを元データにするという方法にしました。
Excelファイルが開いていないときなどにエラーとなっていますので、エラー発生時には、ERR_HNDLまで飛ぶようにしています。
On Error GoTo ERR_HNDL
開いているExcelファイルのアクティブシートを変数に格納して、
Set xl_app = GetObject(Class:="Excel.Application")
Set xl_sh = xl_app.ActiveWorkbook.ActiveSheet
アクティブなワークシートのA列の最終行番号を変数に格納します。
r_end = xl_sh.Range("A1").End(-4121).Row '-4121 = xlDown
Range("A1").End(xlDown).Rowというのは、Excel VBAで、A列の最終行番号を取得する定番のオブジェクト式ですが、今回は参照設定をしていない、定数・xlDownを使えないことを想定して、リテラル「-4121」をEndプロパティの引数に指定しています。
"PPT-2021-4-30 188-3"
Excelのデータごとにスライドを作成するPowerPointマクロ
アクティブなシート名とデータ件数と共に確認メッセージを表示し[いいえ]ボタンが押されたときには、END_TASKまで飛んで終了します。
msg = "『" & xl_sh.Name & "』シートから、" & r_end & "枚のスライドを作成しますか?"
If MsgBox(msg, vbYesNo) = vbNo Then GoTo END_TASK
[はい]ボタンがクリックされたときに、スライド作成の処理を開始します。
アクティブなプレゼンテーションファイルの、スライドの枚数を取得し、
With ActivePresentation.Slides
i = .Count
Excelのデータ分だけループを回します。
For r = 1 To r_end
スライドの枚数をインクリメントして、
i = i + 1
最後尾にppLayoutTableタイプのスライドを挿入します。前回ご紹介した参照設定なしのExcelマクロの場合は、定数・ppLayoutTableが使えませんでしたが、今回はPowerPointマクロですからPowerPoint VBAの定数を使って指定ができます。
"PPT-2021-4-30 188-4"
その挿入したスライドに1行3列の表を挿入して、
"PPT-2021-4-30 188-5"
その挿入した表にExcelのデータを流し込みます。
"PPT-2021-4-30 188-6"
関連語句
VBA, Visual Basic for Applications
対象:PowerPoint2007, PowerPoint2010, PowerPoint2013
Excelのデータ1件ごとにPowerPointのスライドを作成する、Excelマクロをご紹介しました。
同じことを、PowerPointマクロで行うことも可能です。
Excelのデータごとにスライドを作成するサンプルマクロ
仕様は、前回ご紹介した、Excelマクロと同じです。
フィールドは3列で、1行目からデータが入っていて、データ1件ごと・1レコードごとに、PowerPointのスライド1枚ごとに、1行3列の表の形にします。
"PPT-2021-4-30 188-1"
"PPT-2021-4-30 188-2"
Excelが開かれていて、元データの含まれるワークシートが一番上にある状態で、上記のPowerPointマクロを実行すると、確認メッセージが表示されたあとに[はい]ボタンをクリックすると、PowerPointの末尾にスライドが追加されていきます。
サンプルマクロの解説
PowerPoint側から、Excelデータを引っ張ってきてスライドを作る場合、データの入力されているExcelファイルをどう指定するのかが、一つのポイントです。
ファイルを指定するダイアログをマクロの中で表示する方法、定数にExcelファイルのフルパスを指定する方法などが考えられますが、今回は、開いているExcelファイルの一番上になっている・アクティブシートを元データにするという方法にしました。
Excelファイルが開いていないときなどにエラーとなっていますので、エラー発生時には、ERR_HNDLまで飛ぶようにしています。
On Error GoTo ERR_HNDL
開いているExcelファイルのアクティブシートを変数に格納して、
Set xl_app = GetObject(Class:="Excel.Application")
Set xl_sh = xl_app.ActiveWorkbook.ActiveSheet
アクティブなワークシートのA列の最終行番号を変数に格納します。
r_end = xl_sh.Range("A1").End(-4121).Row '-4121 = xlDown
Range("A1").End(xlDown).Rowというのは、Excel VBAで、A列の最終行番号を取得する定番のオブジェクト式ですが、今回は参照設定をしていない、定数・xlDownを使えないことを想定して、リテラル「-4121」をEndプロパティの引数に指定しています。
"PPT-2021-4-30 188-3"
Excelのデータごとにスライドを作成するPowerPointマクロ
アクティブなシート名とデータ件数と共に確認メッセージを表示し[いいえ]ボタンが押されたときには、END_TASKまで飛んで終了します。
msg = "『" & xl_sh.Name & "』シートから、" & r_end & "枚のスライドを作成しますか?"
If MsgBox(msg, vbYesNo) = vbNo Then GoTo END_TASK
[はい]ボタンがクリックされたときに、スライド作成の処理を開始します。
アクティブなプレゼンテーションファイルの、スライドの枚数を取得し、
With ActivePresentation.Slides
i = .Count
Excelのデータ分だけループを回します。
For r = 1 To r_end
スライドの枚数をインクリメントして、
i = i + 1
最後尾にppLayoutTableタイプのスライドを挿入します。前回ご紹介した参照設定なしのExcelマクロの場合は、定数・ppLayoutTableが使えませんでしたが、今回はPowerPointマクロですからPowerPoint VBAの定数を使って指定ができます。
"PPT-2021-4-30 188-4"
その挿入したスライドに1行3列の表を挿入して、
"PPT-2021-4-30 188-5"
その挿入した表にExcelのデータを流し込みます。
"PPT-2021-4-30 188-6"
関連語句
VBA, Visual Basic for Applications
PPT 新しいスライドを追加する [PPT]
PPT 新しいスライドを追加する
スタート画面で[新しいプレゼンテーション]を選択した例で説明します。
[新しいプレゼンテーション]から始めると、タイトルスライドが作成されます。
ここでは、2枚目以降のスライドを追加する方法を書きます。
[ホーム]タブの[新しいスライド]をクリックすると追加するスライドを11個のレイアウトから選択することができます。
目的に適したスライドを選択します。
"PPT-2021-4-29 160-1"
ここでは、「2つのコンテンツ」を選択しました。次に「タイトルとコンテンツ」を選択して追加しました。
未入力の状態では区別がつかないので、説明のためにタイトルを入力して、図を挿入しています。
"PPT-2021-4-29 160-2"
既に作成している他のプレゼンテーション(別のパワーポイントのファイル)のスライドを使いたいときがあります。
[ホーム]タブの[新しいスライド]→[スライドの再利用]をクリックします。
"PPT-2021-4-29 160-3"
右端にスライドの再利用 ウィンドウが開きました。
ここでは、作成済みのファイルから再利用したいと思いますので、[参照]→[ファイルの参照]をクリックします。
"PPT-2021-4-29 160-4"
利用したいスライドの含まれるファイルを選択して、[開く]ボタンをクリックします。
"PPT-2021-4-29 160-5"
選択したファイルのスライドがスライドの再利用に表示されました。
再利用したいスライドをクリックします。
"PPT-2021-4-29 160-6"
選択したスライドが作成中のプレゼンテーションに追加されました。
左のサムネイルで選択していたスライドの次に挿入されます。
下図の例ではスライド番号3を選択した状態で、スライドの再利用でスライドを追加しています。
この例では書式が作業中のファイルと同じようになっています。再利用したスライドの書式はなくなっています。
再利用するスライドの書式を保持するには 再利用するスライドの書式を使用したいときは? をご覧ください。
"PPT-2021-4-29 160-7"
スタート画面で[新しいプレゼンテーション]を選択した例で説明します。
[新しいプレゼンテーション]から始めると、タイトルスライドが作成されます。
ここでは、2枚目以降のスライドを追加する方法を書きます。
[ホーム]タブの[新しいスライド]をクリックすると追加するスライドを11個のレイアウトから選択することができます。
目的に適したスライドを選択します。
"PPT-2021-4-29 160-1"
ここでは、「2つのコンテンツ」を選択しました。次に「タイトルとコンテンツ」を選択して追加しました。
未入力の状態では区別がつかないので、説明のためにタイトルを入力して、図を挿入しています。
"PPT-2021-4-29 160-2"
既に作成している他のプレゼンテーション(別のパワーポイントのファイル)のスライドを使いたいときがあります。
[ホーム]タブの[新しいスライド]→[スライドの再利用]をクリックします。
"PPT-2021-4-29 160-3"
右端にスライドの再利用 ウィンドウが開きました。
ここでは、作成済みのファイルから再利用したいと思いますので、[参照]→[ファイルの参照]をクリックします。
"PPT-2021-4-29 160-4"
利用したいスライドの含まれるファイルを選択して、[開く]ボタンをクリックします。
"PPT-2021-4-29 160-5"
選択したファイルのスライドがスライドの再利用に表示されました。
再利用したいスライドをクリックします。
"PPT-2021-4-29 160-6"
選択したスライドが作成中のプレゼンテーションに追加されました。
左のサムネイルで選択していたスライドの次に挿入されます。
下図の例ではスライド番号3を選択した状態で、スライドの再利用でスライドを追加しています。
この例では書式が作業中のファイルと同じようになっています。再利用したスライドの書式はなくなっています。
再利用するスライドの書式を保持するには 再利用するスライドの書式を使用したいときは? をご覧ください。
"PPT-2021-4-29 160-7"
PPT ファイルにパスワードをかける [PPT]
PPT ファイルにパスワードをかける
パワーポイントのプレゼンテーションを暗号化し、セキュリティをかける方法をOfficeのバージョン別に紹介します。PowerPoint、Word、Excelなど、Office製品共通で利用できる操作です。
Office2013と2010の場合
まずは2010と2013バージョンの場合です。
PowerPoint2010と2013のパスワード
"PPT-2021-4-28 132-1"
[ファイル]タブから[情報]を選択。
[プレゼンテーションの保護]をクリックし、[パスワードを使用して暗号化]を選択します。
パワーポイント暗号化ダイアログボックス
"PPT-2021-4-28 132-2"
ここで、ドキュメントの暗号化ダイアログボックスが表示されます。
フォームに任意の文字列を入力して[OK]ボタンをクリックします。
PowerPointパスワードの確認
"PPT-2021-4-28 132-3"
確認の為、再度同じものを入力し[OK]ボタンをクリックします。
PowerPointの暗号化
"PPT-2021-4-28 132-4"
プレゼンテーションの暗号化が完了しました。
※解除する際は、上記と同じ手順で③の際にフォームを空欄にして[OK]ボタンを押します。
また、ファイルを開く(閲覧)は制限をかけず、書き込み(編集)のみ保護する方法は、office2007と共通です。「読み取り専用・書き込み専用のパスワード」をご参照ください。
Office2003の場合
[ツール] メニューから[オプション] をクリックします
オプションダイアログボックスで[セキュリティ] タブを開き、
必要に応じて読み取りまたは書き込みのテキストボックスに入力。
[OK]ボタンをクリックで完了です。
※実際の画面については「ワード2003の方法」や「エクセル2003の方法」を参考にしてみてください。
パワーポイントのプレゼンテーションを暗号化し、セキュリティをかける方法をOfficeのバージョン別に紹介します。PowerPoint、Word、Excelなど、Office製品共通で利用できる操作です。
Office2013と2010の場合
まずは2010と2013バージョンの場合です。
PowerPoint2010と2013のパスワード
"PPT-2021-4-28 132-1"
[ファイル]タブから[情報]を選択。
[プレゼンテーションの保護]をクリックし、[パスワードを使用して暗号化]を選択します。
パワーポイント暗号化ダイアログボックス
"PPT-2021-4-28 132-2"
ここで、ドキュメントの暗号化ダイアログボックスが表示されます。
フォームに任意の文字列を入力して[OK]ボタンをクリックします。
PowerPointパスワードの確認
"PPT-2021-4-28 132-3"
確認の為、再度同じものを入力し[OK]ボタンをクリックします。
PowerPointの暗号化
"PPT-2021-4-28 132-4"
プレゼンテーションの暗号化が完了しました。
※解除する際は、上記と同じ手順で③の際にフォームを空欄にして[OK]ボタンを押します。
また、ファイルを開く(閲覧)は制限をかけず、書き込み(編集)のみ保護する方法は、office2007と共通です。「読み取り専用・書き込み専用のパスワード」をご参照ください。
Office2003の場合
[ツール] メニューから[オプション] をクリックします
オプションダイアログボックスで[セキュリティ] タブを開き、
必要に応じて読み取りまたは書き込みのテキストボックスに入力。
[OK]ボタンをクリックで完了です。
※実際の画面については「ワード2003の方法」や「エクセル2003の方法」を参考にしてみてください。