こんにちは、Ryoです。
公私ともに忙しかったりしたのもあり、かなり久しぶりの更新となってしまいましたが今後も色々と書いていきますので、宜しくお願い致します!
さて、Excelの資料から関連するパワーポイントの資料にスムーズにつなげたい場合なども状況によってはあるかもしれません。その場合はVBAのRunメソッドを使うことでExcelからPowerPointを起動し、スライドショーを実行することも出来ますので、今回はその内容について書いていきます。
1.サンプル概要
Excelシート上にボタンを設置し、スライドショーを実行するサンプルコードを割当てます。
このボタンを押すと、サンプルコード内に指定したパワーポイントファイルを開き、スライドショーを実行します。(今回のサンプルはPowerPoint2010(Office2010)にて動作確認しています)
2.サンプルコード
Sub sample1() With CreateObject("PowerPoint.Application") 'パワーポイントを起動/表示する .Visible = True '「pp_sample.pptx」を開いてスライドショー開始 .Presentations.Open _ (ThisWorkbook.Path & "\pp_sample.pptx") _ .SlideShowSettings.Run End With End Sub
◆CreateObject関数
先ずPowerPointを起動するには「CreateObject関数」で起動します。このCreateObject関数はオートメーションに対応した他のアプリケーションを起動することが出来ます。
CreateObject(class,[servername])
構文はこの通りですが、classの指定は必須でservernameは省略可能となっています。
今回PowerPointを起動しますので、CreateObject(“PowerPoint.Application”)と記述すればOKです。
次にPowerPointを表示する為、 .Visible = Trueの記述をしています。動作確認上で本部分の有無影響を見る限り、特に変わらないので無くても大丈夫かもしれませんが念の為に入れています。
後は記述の部分で指定したpp_sample.pptxを開き、スライドショーを開始します。
.Presentations.Open _
(ThisWorkbook.Path & “\pp_sample.pptx”) _
.SlideShowSettings.Run
◆Runメソッド
このスライドショーを実行するにはRunメソッドを使用します。
オブジェクト.Run
構文のオブジェクトにSlideShowSettingsを指定することで、PowerPointのスライドショーを開始することが出来ますので、実行するとパワーポイントが立ち上がり指定のスライドが表示されるという流れになります。
余談です。。。サンプルコードではWithを使用して書いていますが、使用しない場合はこんな記述になります。
Sub Sample2() CreateObject("PowerPoint.Application").Visible = True CreateObject("PowerPoint.Application").Presentations.Open _ (ThisWorkbook.Path & "\pp_sample.pptx") _ .SlideShowSettings.Run End Sub
実行結果は全く同じになりますが、Withを使用することで重複する部分を省略することが出来て手間も省けるということですね。
3.まとめ
Excel、PowerPointとそれぞれ異なるアプリケーションですが、VBAから起動させることが出来ることを知っておくと、何かと役に立つ場面が多いように思います。
私の場合はプレゼンなど行う際、要所にボタン設置しておいて必要に応じてスライドを呼び出したりしていますが、スムーズに移行出来るので何かと便利です。もし機会がありましたらぜひご活用くださいませ!
以上がPowerPointのスライドショーを実行する方法についてでした!今回の記事が何かの参考になれば幸いです。
Ryo