PowerPointに貼り付けたExcelグラフのサイズを、VBAでピンポイントに調整したいというケースは少なくありません。
今回は、Excel VBAを使って、グラフを「図として貼り付けた後」にサイズを cm 指定で変更する方法を実装しましたので、実際のコードとあわせてご紹介いたします。
実現したいこと
- ExcelのグラフをVBAでPowerPointに貼り付け
- グラフのサイズを高さ5cm・幅8cmに指定して自動調整
- サイズは ポイント(pt)単位で指定する必要がある(1cm ≒ 28.35pt)
環境情報(動作確認済み)
- OS:Windows 10 Pro
- バージョン:20H2
- Excel / PowerPoint:Microsoft 365
使用したVBAコード
以下のコードを使うことで、指定されたテンプレートスライドにグラフを図として貼り付け、サイズを指定寸法に調整できます。
Sub ExportGraphToPowerPoint()
Dim ppApp As Object
Dim ppPres As Object
Dim ppSlide As Object
Dim ChartObj As ChartObject
Dim pptTemplatePath As String
Dim newFileName As String
Dim myShape As Object
Dim desiredWidth As Single
Dim desiredHeight As Single
' サイズをポイントに変換(1cm = 約28.35pt)
desiredWidth = 8 * 28.35 ' 幅8cm
desiredHeight = 5 * 28.35 ' 高さ5cm
' 保存ファイル名を日付付きで初期表示
Dim defaultFileName As String
defaultFileName = "\テンプレ_" & Format(Now, "yyyymmdd") & ".pptx"
' ファイル保存ダイアログを表示
newFileName = Application.GetSaveAsFilename( _
InitialFileName:=ThisWorkbook.Path & defaultFileName, _
FileFilter:="PowerPoint プレゼンテーション (*.pptx), *.pptx", _
Title:="保存先を選択してください")
If newFileName = "False" Then Exit Sub
' テンプレートファイルの相対パスを指定
pptTemplatePath = ThisWorkbook.Path & "\..\テンプレ.pptx"
' PowerPoint起動
Set ppApp = CreateObject("PowerPoint.Application")
ppApp.Visible = True
' テンプレートプレゼンテーションを開く
Set ppPres = ppApp.Presentations.Open(pptTemplatePath)
' Excelグラフ(名前: graph)をコピー
Set ChartObj = ThisWorkbook.Sheets(1).ChartObjects("graph")
ChartObj.Copy
' スライド1に図として貼り付け
Set ppSlide = ppPres.Slides(1)
Set myShape = ppSlide.Shapes.Paste
' サイズを指定寸法に変更(幅8cm × 高さ5cm)
myShape.Width = desiredWidth
myShape.Height = desiredHeight
' ファイルを保存
ppPres.SaveAs newFileName
' オブジェクト解放
Set myShape = Nothing
Set ppSlide = Nothing
Set ppPres = Nothing
ppApp.Quit
Set ppApp = Nothing
End Sub
サイズ変更に関するポイント
' 幅8cm、高さ5cmをポイントに変換して指定
desiredWidth = 8 * 28.35
desiredHeight = 5 * 28.35
myShape.Width = desiredWidth
myShape.Height = desiredHeight
この部分が、グラフのサイズをcm単位でコントロールしている箇所です。PowerPointは内部的に**ポイント単位(pt)**で位置やサイズを管理しているため、1cm ≒ 28.35pt に換算して設定します。
コード全体の流れ(要点整理)
- ファイル保存先と名前を選ばせる
- PowerPointテンプレート(事前に作成された.pptx)を開く
- Excelのグラフ(名前指定済み)をコピー
- PowerPointの1枚目のスライドにグラフを貼り付け
- 貼り付けたグラフを 指定サイズ(8cm × 5cm)に変更
- 指定した名前でプレゼンテーションを保存し、終了
まとめ
VBAを使えば、PowerPoint上のオブジェクトサイズをcm単位で正確に調整することができます。
- PowerPointは ポイント(pt)単位でサイズ・位置を管理
1cm ≒ 28.35ptを元に必要なサイズを設定myShape.WidthとmyShape.Heightを使えば 画像やグラフを希望サイズにリサイズ可能
プレゼン資料を自動作成する際に、デザイン統一や視認性の向上に直結するテクニックです。
最後までお読みいただき、ありがとうございました。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
