【VBA】PowerPointにExcelグラフを「図」として貼り付ける方法|PasteSpecialの活用

Excel VBAを使って、ExcelグラフをPowerPointに貼り付ける際、編集可能なグラフではなく、「図(画像)」として貼り付けたいことはありませんか?
今回は、VBAを使って PowerPointのスライドにExcelグラフを「図形(PNG画像)」として貼り付ける方法を学びましたので、実際のコードとあわせてご紹介いたします。


目次

実現したいこと

  • Excelグラフをコピーして、PowerPointに図(画像)形式で貼り付けたい
  • 通常の .Paste による貼り付けではなく、編集不可の画像として貼り付けたい

方法:.PasteSpecial を使って図として貼り付ける

PowerPointの Shapes.PasteSpecial メソッドを使えば、コピーしたオブジェクトを特定の形式(図、テキストなど)で貼り付けることが可能です。
DataType:=2 を指定することで、**PNG形式の図(メタファイル)**として貼り付けることができます。


変更前の貼り付けコード

Set ppSlide = ppPres.Slides(1)
Set myShape = ppSlide.Shapes.Paste

このままだと、グラフが編集可能な「埋め込みオブジェクト」として貼り付けられます。


変更後の貼り付けコード(図として貼る)

以下のように .PasteSpecial を使用することで、グラフが図(画像)形式で貼り付けられます。

' PowerPointの1番目のスライドに図として貼り付け
Set ppSlide = ppPres.Slides(1)
Set myShape = ppSlide.Shapes.PasteSpecial(DataType:=2) ' 2 は画像形式(PNG)

DataType の種類について

データ型定数内容
1ppPasteDefault標準の貼り付け(編集可能)
2ppPasteEnhancedMetafileメタファイル(図)形式で貼り付け
3ppPasteBitmapビットマップ画像として貼り付け
4ppPasteGIFGIF形式画像

一般的には、DataType:=2(Enhanced Metafile) が最も高品質かつ扱いやすいため推奨されます。


使用例全体(グラフコピー→図として貼り付け)

Sub PasteExcelChartAsImage()
    Dim ppApp As Object
    Dim ppPres As Object
    Dim ppSlide As Object
    Dim myShape As Object

    ' PowerPointを起動
    Set ppApp = CreateObject("PowerPoint.Application")
    ppApp.Visible = True

    ' 新しいプレゼンテーションを作成
    Set ppPres = ppApp.Presentations.Add

    ' Excelグラフをコピー(グラフオブジェクトを選択済みと仮定)
    ActiveSheet.ChartObjects(1).Chart.Copy

    ' 1番目のスライドに図として貼り付け
    Set ppSlide = ppPres.Slides(1)
    Set myShape = ppSlide.Shapes.PasteSpecial(DataType:=2)

    ' 位置調整(任意)
    myShape.Left = 100
    myShape.Top = 50
End Sub

まとめ

PowerPointにExcelのグラフを「図」として貼り付けるには、.PasteSpecial メソッドを使うのが最も確実な方法です。

  • DataType:=2 を指定することで、編集不可な画像として挿入
  • .Paste よりもレイアウト崩れや編集リスクを回避可能
  • プレゼン資料の安定性向上にも有効

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次