PowerPoint (一般・VBA)

PowerPoint 一般・VBAに関する話題を扱うフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : PowerPoint 2016)
slide番号の指定方法
投稿日時: 20/01/31 12:01:59
投稿者: gorby

Powerpointファイル21ページ目のText Box 5を削除するVBAを作成しました。
下から4行目のAnd sl.Count = 21 を削除すると、
 
Text Box 5を削除してくれますが、And sl.Count = 21を残すとオブジェクトがありません。というエラーになります。自分としては、slideオブジェクトを作成したつもりなのですが、、、
 
VBA初心者のため、顕学のご指導をお願いします。
 
 
--<start of code>--
Sub delete()
Dim s As Shape 'sはshapeオブジェクトを入れる変数
Dim sl As Slide 'sはslideオブジェクトを入れる変数
 
Dim c As Collection 'cはコレクション
Dim start_slide As Integer 'start_slideはスライド番号1を入れる定数
Dim i As Integer 'iはスライド番号を入れる変数
  
start_slide = 1
 For i = start_slide To ActivePresentation.Slides.Count
   
  Set c = New Collection
  Set sl = Slide
   
  For Each s In ActivePresentation.Slides(i).Shapes '変数sにアクティブスライド番号のすべてのshapeオブジェクトを入れる。
    c.Add s
  Next
   
  For Each s In c
    If InStr(s.Name, "Text Box 5") > 0 And sl.Count = 21 Then s.delete
  Next
 Next
   
End Sub
--<end of code>--

回答
投稿日時: 20/01/31 14:23:00
投稿者: sk

引用:
Powerpointファイル21ページ目のText Box 5を削除するVBA

引用:
Dim sl As Slide

引用:
For i = start_slide To ActivePresentation.Slides.Count

引用:
Set sl = Slide

Set sl = ActivePresentation.Slides(i)
 
引用:
sl.Count = 21

sl.SlideIndex = 21

投稿日時: 20/01/31 14:46:24
投稿者: gorby

時間ができたら試してみます。ありがとうございます。