SSブログ

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-1.jpg
"PPT-2021-4-30 188-2"
PPT-2021-4-30 188-2.jpg
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"
PPT-2021-4-30 188-3.jpg
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"
PPT-2021-4-30 188-4.jpg
その挿入したスライドに1行3列の表を挿入して、

  "PPT-2021-4-30 188-5"
PPT-2021-4-30 188-5.jpg
その挿入した表にExcelのデータを流し込みます。

   "PPT-2021-4-30 188-6"
PPT-2021-4-30 188-6.jpg
関連語句

VBA, Visual Basic for Applications
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

PPT 新しいスライドを追加する [PPT]

PPT 新しいスライドを追加する

スタート画面で[新しいプレゼンテーション]を選択した例で説明します。

[新しいプレゼンテーション]から始めると、タイトルスライドが作成されます。

ここでは、2枚目以降のスライドを追加する方法を書きます。

[ホーム]タブの[新しいスライド]をクリックすると追加するスライドを11個のレイアウトから選択することができます。

目的に適したスライドを選択します。

"PPT-2021-4-29 160-1"
PPT-2021-4-29 160-1.jpg
ここでは、「2つのコンテンツ」を選択しました。次に「タイトルとコンテンツ」を選択して追加しました。

未入力の状態では区別がつかないので、説明のためにタイトルを入力して、図を挿入しています。

"PPT-2021-4-29 160-2"
PPT-2021-4-29 160-2.jpg
既に作成している他のプレゼンテーション(別のパワーポイントのファイル)のスライドを使いたいときがあります。

[ホーム]タブの[新しいスライド]→[スライドの再利用]をクリックします。

"PPT-2021-4-29 160-3"
PPT-2021-4-29 160-3.jpg
右端にスライドの再利用 ウィンドウが開きました。

ここでは、作成済みのファイルから再利用したいと思いますので、[参照]→[ファイルの参照]をクリックします。

"PPT-2021-4-29 160-4"
PPT-2021-4-29 160-4.jpg
利用したいスライドの含まれるファイルを選択して、[開く]ボタンをクリックします。

"PPT-2021-4-29 160-5"
PPT-2021-4-29 160-5.jpg
選択したファイルのスライドがスライドの再利用に表示されました。

再利用したいスライドをクリックします。

"PPT-2021-4-29 160-6"
PPT-2021-4-29 160-6.jpg
選択したスライドが作成中のプレゼンテーションに追加されました。

左のサムネイルで選択していたスライドの次に挿入されます。

下図の例ではスライド番号3を選択した状態で、スライドの再利用でスライドを追加しています。

この例では書式が作業中のファイルと同じようになっています。再利用したスライドの書式はなくなっています。

再利用するスライドの書式を保持するには 再利用するスライドの書式を使用したいときは? をご覧ください。

"PPT-2021-4-29 160-7"
PPT-2021-4-29 160-7.jpg
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

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-1.jpg
[ファイル]タブから[情報]を選択。

[プレゼンテーションの保護]をクリックし、[パスワードを使用して暗号化]を選択します。

パワーポイント暗号化ダイアログボックス

"PPT-2021-4-28 132-2"
PPT-2021-4-28 132-2.jpg
ここで、ドキュメントの暗号化ダイアログボックスが表示されます。

フォームに任意の文字列を入力して[OK]ボタンをクリックします。

PowerPointパスワードの確認

"PPT-2021-4-28 132-3"
PPT-2021-4-28 132-3.jpg
確認の為、再度同じものを入力し[OK]ボタンをクリックします。

PowerPointの暗号化

"PPT-2021-4-28 132-4"
PPT-2021-4-28 132-4.jpg
プレゼンテーションの暗号化が完了しました。

※解除する際は、上記と同じ手順で③の際にフォームを空欄にして[OK]ボタンを押します。

また、ファイルを開く(閲覧)は制限をかけず、書き込み(編集)のみ保護する方法は、office2007と共通です。「読み取り専用・書き込み専用のパスワード」をご参照ください。

Office2003の場合

[ツール] メニューから[オプション] をクリックします

オプションダイアログボックスで[セキュリティ] タブを開き、

必要に応じて読み取りまたは書き込みのテキストボックスに入力。

[OK]ボタンをクリックで完了です。

※実際の画面については「ワード2003の方法」や「エクセル2003の方法」を参考にしてみてください。
nice!(0)  コメント(0) 
共通テーマ:日記・雑感

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。