ExcelVBAとPowerPointの連携パート1【PowerPointの起動とスライドの挿入】



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、taka(@takabou63)です(^^♪

久しぶりのVBAネタですね(;^ω^)少しいろいろありましてブログ活動にまで手が回らないという状況となってしまいました・・・

さて、今回は少し気合が入っているネタです(笑)

【ExcelとPowerPoint】

今までAccess、Outlook、Wordと様々なOfficeソフトとExcelVBAで操作してきました、今回は【PowerPoint】です(^^♪

私はあまりPowerPointを使用した仕事をしていないので細かな使用はわかっておりませんが、一応基本的な操作関係は勉強しましたので問題ないはずです(^.^)

ではさっそく記念すべき1回目【PowerPointの起動とスライドの挿入】について解説していきます(^^♪

ExcelVBAとPowerPointの連携

さて、とうとうExcelVBAで操作できるOfficeソフトも最後となりましたPowerPoint!

今までAccess、Outlook、Wordと紹介してきましたが今回のPowerPointでOLEも最後となると思います(*_*;・・・ないですよね?

正直、PowerPointに詳しくない私としては、PowerPointをExcelVBAで操作したところでそこまで恩恵が受けられるのかナゾですが、せっかくOffice365にインストールされているので操作してみようかと思います(笑)

ExcelVBAでPowerPointを操作するための準備をしよう

まずはExcelVBAからPowerPointを起動するところから始めてみましょう(^^♪

参照設定を使用した場合のコードで紹介してきます。

参照設定する方法はこちらを参考にしてください。
PowerPointを参照設定する場合は【Microsoft PowerPoint ##.# Object Library】を探し出してください

参照設定とCreateObject関数の違いについてはこちら
VBA CreateObject関数と参照設定の違い

ExcelVBAからPowerPointを起動してみよう

ではさっそくExcelVBAからPowerPointを起動してみます。まずは簡単に短いコードから試してみましょう!

  1. オブジェクト変数を宣言
  2. インスタンスを作成
  3. PowerPointを表示
PowerPointのアプリケーションが起動したはずです。

ExcelVBAからPowerPointのスライドを追加する!

起動したPowerPointは上記画像のようにスライドが表示されていない、ただ起動されただけの状態になっているはずです。このままではVBAでスライド操作したくても操作ができません(;^ω^)

まずはプレゼンテーションを作成するために【Presentations.Add】を使います、プレゼンテーションを作成するだけならこのままでもいいですが、このままだとスライドは追加されません。

なので【Presentations.Add】をオブジェクト変数にセットして、【Slides.Add メソッド】と一緒に使うことでスライドを追加するようにします。

このようにタイトルスライドが追加されていると思います(^.^)

2ページ目以降もスライドを追加する

さて、上記で説明したようにタイトルスライドだけのスライドを作成してみてもあまり意味がありませんよね?

2ページ目以降もスライドは必要ですので、このページに続く「テキストレイアウト」を追加してみましょう!

ppLayoutText

ppLayoutText見本

下記のコードでは2ページ目以降には「ppLayoutText」というレイアウトを指定しています。

ExcelVBAからPowerPointを保存・終了する

では最後にExcelからPowerPointを終了してみましょう。

PowerPointを保存するには「ActivePresentation.Save」などを使用しますが今回は名前を付けて保存する「ActivePresentation.SaveAs 」を使用しました。

また、理由がまだわかりませんが【保存の動作が安定しません】とりあえずWaitメソッドなどで2~3秒ほど待たないと保存ができないです(;^ω^)(待ってもできないときがある)

DoEvents関数を挟むと割と安定します。もし理由がわかりましたらコメントで教えてください(__)

最後にPowerPointを終了する 「pwpApp.Quit」というコードを追加すれば完成です!

 

フォロー・チャンネル登録お願いします

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver