ExcelデータをPowerPointへ自動転記する方法を知りたいときはないでしょうか。
けど、そんな中で悩むことは、
・ExcelデータをPowerPointの複数スライドに自動転記する方法がわからない
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
もくじ
ExcelデータをPowerPointの複数スライドのタイトルと本文へ自動転記するイメージ
ExcelデータをPowerPointへ自動転記するイメージについて説明をします。
パワーポイントのテンプレートとなるファイルを用意します。
保存しファイル名とパスをメモします。
台帳となるExcelシートを用意し、スライド番号毎にタイトルと本文を入力、そしてメモしたテンプレートファイルのパスを入力します。
マクロを実行すると、
パワーポイントの各スライドにExcel台帳に入力したデータが反映されます!
スライドが大量にあるとき便利ですね!
それでは早速実装してためしてみましょう!
ExcelデータをPowerPointへ自動転記するための下準備
ExcelデータをPowerPointへ自動転記するための下準備をしていきましょう。
パワーポイントのテンプレートファイルを準備する
パワーポイントのテンプレートファイルを準備しましょう。
サンプルではパワーポイントの標準テンプレートを使っています。
表紙の他にコンテンツとなるスライドを作成し、保存します。
テンプレートファイルを表紙のスライドだけにすると、表紙が複製される形になるので、表紙以外にコンテンツスライドも追加するようお願いします。
Excel台帳ファイルを準備する
Excel台帳を作成し、一番目のシートにA列からスライド番号、タイトル、本文、そしてG1セルへテンプレートのファイルのパスを入力します。
サンプルは以下の通りです。
スライド番号 | タイトル | 本文 |
---|---|---|
1 | 運用改善提案書 | 2023年4月3日 |
2 | はじめに | 運用で発生した課題について改善の提案をいたします。 |
3 | 課題 | 認識している課題については以下の通りです。 問い合わせの返信遅れ 依頼作業の遅れ |
4 | 改善策 | 改善策は以下の通りです。 一次返信の自動化 依頼受け付けフォームの設置 |
5 | 対応スケジュール | 対応スケジュールは以下の通りです。 1月:運用設計 2月:トライアル 3月:本運用適用 |
G1には表貼り付け先パワポファイルのパスを入力します。
テンプレパワポファイルのパス⇒ | F:\test\PPTテンプレ.pptx |
Excelからパワーポイントを操作できるよう設定する
ExcelからパワーポイントをVBAで操作できるよう設定をしていきましょう。
①Excelを起動し、「開発」タブをクリックします。
②VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。
③「Microsoft PowerPoint XX.X Object Library」を探してチェックボックスにチェックし「OK」をクリックします。
ExcelデータをPowerPointの複数スライドのタイトルと本文へ自動転記する方法
サンプルコード
ExcelデータをPowerPointの複数スライドのタイトルと本文へ自動転記するサンプルコードは以下の通りです。
Sub パワーポイントへタイトルと本文を挿入する()
Dim objPPTApp As Object
Dim objPPTPres As Object
Dim objPPTSlide As Object
Dim objPPTLayout As Object
Dim intlastRow As Integer
Dim i As Integer
Dim SlideNum As Integer
Dim Title As String
Dim Body As String
'Excel台帳の1スライド目を設定します。
With ThisWorkbook.Worksheets(1)
' PowerPointアプリケーションをセットします。
Set objPPTApp = CreateObject("PowerPoint.Application")
'Excel台帳のG1セルを元にPowerPointファイルを開きます。
Set objPPTPres = objPPTApp.Presentations.Open(.Range("G1").Value)
' PowerPointアプリケーションを表示します。
objPPTApp.Visible = True
'ファイルパスを格納する列の範囲を取得します。
intlastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
'Excel台帳の最終行数分処理を繰り返します。
For i = 2 To intlastRow
'Excel台帳側に入力されているタイトルと本文を取得します。
SlideNum = .Cells(i, 1).Value
Title = .Cells(i, 2).Value
Body = .Cells(i, 3).Value
'PowerPointにスライドを加えるか、既存スライドを使うか判定します。
If SlideNum > objPPTPres.Slides.Count Then
'PowerPointにスライドを加えます。
Set objPPTLayout = objPPTPres.Slides(2).CustomLayout
Set objPPTSlide = objPPTPres.Slides.AddSlide(SlideNum, objPPTLayout)
Else
'PowerPointの既存スライドを使います。
Set objPPTSlide = objPPTPres.Slides(SlideNum)
End If
'スライドにタイトルと本文を挿入します。
objPPTSlide.Shapes(1).TextFrame.TextRange.Text = Title
objPPTSlide.Shapes(2).TextFrame.TextRange.Text = Body
Next i
End With
'オブジェクトを開放します。
Set objPPTApp = Nothing
Set objPPTPres = Nothing
Set objPPTSlide = Nothing
Set objPPTLayout = Nothing
MsgBox "Excel台帳からパワーポイントへタイトルと本文を挿入しました!" & Chr(10) & "OKであれば保存してください。"
End Sub
VBAの実装
VBAの実装方法については
VBAの実装手順
をご参照ください。
実行する
VBAを実行しましょう。
「Excel台帳からパワーポイントへタイトルと本文を挿入しました!OKであれば保存してください。」が表示されたら完了です。
パワーポイントをみてみましょう。
はい!パワーポイントへExcelに入力したタイトルと本文が転記されましたね!
ExcelデータをPowerPointへ自動転記するVBAの説明
ExcelデータをPowerPointへ自動転記するVBAについて説明をします。
Excel台帳のG1セルを元にPowerPointファイルを開きます。
Set objPPTPres = objPPTApp.Presentations.Open(.Range("G1").Value)
PowerPointアプリケーションを表示します。
objPPTApp.Visible = True
ファイルパスを格納する列の範囲を取得します。
intlastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Excel台帳の最終行数分処理を繰り返します。
For i = 2 To intlastRow Next i
Excel台帳側に入力されているタイトルと本文を取得します。
SlideNum = .Cells(i, 1).Value
Title = .Cells(i, 2).Value
Body = .Cells(i, 3).Value
PowerPointにスライドを加えるか、既存スライドを使うか判定します。
If SlideNum > objPPTPres.Slides.Count Then
スライドがなければPowerPointにスライドを加えます。
Set objPPTLayout = objPPTPres.Slides(2).CustomLayout
Set objPPTSlide = objPPTPres.Slides.AddSlide(SlideNum, objPPTLayout)
スライドがあればPowerPointの既存スライドを使います。
Set objPPTSlide = objPPTPres.Slides(SlideNum)
スライドにタイトルと本文を挿入します。
objPPTSlide.Shapes(1).TextFrame.TextRange.Text = Title
objPPTSlide.Shapes(2).TextFrame.TextRange.Text = Body
VBAの実装手順
実装手順は以下の通りです。
Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。
③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
さいごに
いかがでしょうか。
今回は、
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す