Excelの図表をPowerPointへ貼り込む方法のメモです.
Excel側からPowerPointを呼び出すケースになります.

目次

  1. PowerPointを起動する
  2. プレゼンテーション
    1. 新規作成
    2. 開く
  3. スライド
    1. スライドの追加
  4. 図表のペースト
    1. アタリ画像との差し替え
  5. 参考文献

PowerPointを起動する

PowerPointはCreateObjectで呼び出すことができます.

Dim ppt As Object
Set ppt = CreateObject("PowerPoint.Application")

このCreateObjectはmacOSでも実行できました.

プレゼンテーション

PowerPointのプレゼンテーションは,Excelのブックに似ています.

新規作成

新規作成はAddメソッドです.

Dim prst As Object
Set prst = ppt.presentations.Add

開く

ファイルを開くにはOpenメソッドを使います.

Dim prst As Object
Set prst = ppt.presentations.Open("ファイルのパス")

スライド

PowerPointのスライドは,Excelのワークシートに似ています.

スライドの追加

スライドの追加はAddメソッドで行います.
引数は挿入位置とレイアウトを指定します.

Dim sld As Object
Set sld = prst.slides.Add(Index:=1, Layout:=12)

図表のペースト

ExcelからマクロでRange("範囲").Copyした表や適当にコピーした図があるとき,次の形でペーストすることができます.

With sld.Shapes.Paste
.Left = x座標
.Top = y座標
.Width = 幅
.Height = 高さ '図の場合はここを省略すると縦横比が幅に合わせて調整される
End With

アタリ画像との差し替え

PowerPointの方にアタリ画像を置いている場合は,sld.Shape("アタリ画像名")LeftTopプロパティやWidthプロパティを使ってペーストする際に同じ位置に画像を配置し,Deleteメソッドでアタリ画像を取り除きます.

参考文献

スピル関数やPower Query,コメントへのリプライなどの新しい機能が紹介されているほか,他のプログラミング言語で処理することの多いファイル操作や読み書きもマクロでパッケージ化して第三者に渡したい場合に助けとなる逆引き辞典です.

  • 大村あつし・古川順平 (2021)「Excel VBA コードレシピ集」技術評論社.