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
の種類について
データ型 | 定数 | 内容 |
---|---|---|
1 | ppPasteDefault | 標準の貼り付け(編集可能) |
2 | ppPasteEnhancedMetafile | メタファイル(図)形式で貼り付け |
3 | ppPasteBitmap | ビットマップ画像として貼り付け |
4 | ppPasteGIF | GIF形式画像 |
一般的には、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
よりもレイアウト崩れや編集リスクを回避可能- プレゼン資料の安定性向上にも有効
定型資料の自動作成や提出用の配布資料など、意図せず編集されたくない資料作成に最適な方法です。
最後までお読みいただき、ありがとうございました。
スクールの紹介
【アイデミー】AIを学んで一発逆転のキャリアチェンジ!
最後に宣伝をさせてください。
夢見るAIエンジニアへ、今こそ一歩を踏み出せ!
最近、AI技術やデータサイエンスに興味を持ち始めたあなた。将来、AIエンジニアやデータサイエンティストとして活躍したいと考えているかもしれません。また、AIを使って業務課題や研究課題を解決したい、あるいは教養としてAIの知識を深めたいと思っている方もいるでしょう。
しかし、学び始めるとなると「どこから手をつけて良いのか分からない」「専門的すぎて理解できない」といった悩みが生じることも。そんなあなたのために、この3ヶ月間集中してAIプログラミングを習得するオンラインコーチングサービスがオススメです!
なぜこのサービスが選ばれるのか?その理由はこちら
- 初心者から上級者まで
完全なプログラミング初心者から研究者まで、幅広い方々に優良なコンテンツが提供されます。 - 徹底的な進捗管理
受講者の進捗をしっかりとチェックし、つまずきやすいポイントでのフォローが万全です。 - 専属メンターによる徹底サポート
AIの学び方から、実際の適用まで、専属のメンターが手厚くサポートします。 - 場所を選ばず学べるオンライン完結
東京以外の地域からも、気軽に学び始めることができます。
信頼の実績多数!
・日本最大級のプログラミングスクール実績
・受講者総数700名以上
・SaaS型学習サービス会員65,000名以上
・企業導入実績120社以上
・グッドデザイン賞受賞
・著名な賞受賞歴や経団連加盟も実現
夢を叶えるための第一歩を、一緒に踏み出しませんか?今なら、あなたもその一員として学び始めることができます!