Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointのスライドを削除する

Excel VBAでPowerPointのスライドを削除する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel & PowerPoint(バージョン2202 ビルド14931.20132 Microsoft Store)

「Excelvba パワーポイント スライド削除」
という検索キーワードでアクセスがありました。

PowerPointのスライドを削除するサンプルマクロ

PowerPointのプレゼンテーションファイルが1つ開かれている状態で、以下のExcelマクロを実行してください。

Sub PowerPointプレゼンテーションのスライドを削除する()
On Error GoTo ErrHandl

 With GetObject(Class:="PowerPoint.Application")
  .ActivePresentation.Slides(1).Delete
 End With

Exit Sub
ErrHandl:
 Select Case Err.Number
  Case 429
   MsgBox "PowerPointが起動していないようです。"
  Case -2147188160
   MsgBox "PowerPointファイルが開かれていないようです。"
  Case Else
   MsgBox Err.Description & vbCrLf & Err.Number
 End Select
 Err.Clear

End Sub

先頭のスライドが削除されます。

サンプルマクロで行っている処理について

VBAのGetObject関数を使って、起動済みのPowerPoint.Applicationへの参照を取得しておいてから、

With GetObject(Class:="PowerPoint.Application")

PowerPointのSlide.Deleteメソッドを使って、先頭スライドを削除しています。

 .ActivePresentation.Slides(1).Delete

SlideオブジェクトのDeleteメソッドを使ったこのコードは、拙著『いちばんやさしいPowerPoint VBAの教本』の、「Lesson 25 Slideが持つメソッドについて学習しましょう」でも解説している、実質的にPowerPoint VBAのコードです。

最後のスライドを削除するサンプル

上記のSubプロシージャで、

With GetObject(Class:="PowerPoint.Application")
 .ActivePresentation.Slides(1).Delete
End With

の部分を、

With GetObject(Class:="PowerPoint.Application")
 With .ActivePresentation.Slides
  .Item(.Count).Delete
 End With
End With

に変更して実行すれば、最後のスライドが削除されます。

最終更新日時:2022-04-07 12:37

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでPowerPointのスライドを削除する

「Office連携」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.