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