【VBA】PowerPointに貼り付けたExcelグラフを任意の位置に配置する方法

PowerPointのプレゼン資料にExcelのグラフを貼り付ける際、グラフの配置位置をVBAで自由に制御したいという場面があります。
今回は、VBAを使ってPowerPointに貼り付けたグラフをスライド上の任意の座標に配置する方法を学びましたので、実際のコードとあわせてご紹介いたします。


目次

実現したいこと

  • Excel VBAからPowerPointを操作し、グラフを任意の位置に自動で貼り付けたい
  • .Left.Top プロパティを使って、スライド内の座標を指定したい

オブジェクトの位置指定:.Left.Topを使用する

PowerPointスライド上に貼り付けられた図形(グラフや画像など)は、.Left(横位置)と.Top(縦位置)で座標を制御できます。
以下はその基本構文です。


位置指定のサンプルコード

' グラフ(myShape)をスライドに貼り付けた後、位置を指定
myShape.Left = 100  ' 左端から100ポイントの位置
myShape.Top = 50    ' 上端から50ポイントの位置
  • .Left = 100:スライドの左端から100ポイントの位置に設定
  • .Top = 50:スライドの上端から50ポイントの位置に設定

左上に配置したい場合

グラフをスライドの左上にぴったり貼り付けたい場合は、以下のように0を指定します。

myShape.Left = 0
myShape.Top = 0

スライドサイズとポイント単位の注意点

スライド上の座標は 「ポイント(pt)」単位で指定されます。
PowerPointの標準的なスライドサイズごとの参考座標は以下の通りです。

スライド比率幅(.Width)高さ(.Height)
4:3約 960 pt約 720 pt
16:9約 1280 pt約 720 pt

この値をもとに、目的の位置や中央寄せの計算も可能になります。


応用:中央に配置するには?

スライドの中央にグラフを配置したい場合は、スライドサイズの半分からグラフサイズの半分を引くことで、中央座標を計算できます。

myShape.Left = (SlideWidth - myShape.Width) / 2
myShape.Top = (SlideHeight - myShape.Height) / 2

SlideWidthSlideHeight はスライドサイズを取得しておく必要があります。


まとめ

Excel VBAを使ってPowerPointにグラフを貼り付ける際、.Left.Top プロパティを使えば、自由な位置にグラフを配置することができます。

  • .Left, .Top で座標を明示的に指定
  • 0, 0 を指定すればスライドの左上に貼り付け可能
  • スライドのサイズに応じて適切な座標を指定するのがポイント

プレゼン資料の自動生成や大量スライドへの一括配置など、作業効率化にもつながる便利な方法です。

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

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

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

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

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

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

この記事を書いた人

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

目次