В настоящее время я пытаюсь создать новую презентацию PPT, удаляя ненужные слайды из презентации.Слайды и их номера выбираются в первом столбце таблицы, которая у меня есть в Excel.
Я попытался решить эту проблему, взяв другую таблицу вместо той, которую я хочу использовать, и она сработала.,По какой-то причине он, кажется, не работает с «Таблицей 3».
Sub CreatingNewPresentation()
Dim Destination1PPT As String
Dim ppApp As PowerPoint.Application
Dim ppPres As PowerPoint.Presentation
Dim ppSlide As PowerPoint.Slide
Dim myTable As ListObject
Dim TempArray As Variant
Dim x As Long
If MsgBox("This can take a while", vbOKCancel + vbExclamation, "Creating new presentation") = vbCancel Then
Exit Sub
Else
Set ppApp = CreateObject("PowerPoint.Application")
Destination1PPT = "C:\Users\Steffen\Desktop\Test2\1.pptx"
Set ppPres = ppApp.Presentations.Open(Destination1PPT)
ppApp.Visible = True
ppApp.Activate
Set myTable = ActiveSheet.ListObjects("Table3")
TempArray = myTable.ListColumns(1).DataBodyRange
For x = ppApp.ActivePresentation.Slides.Count To 1 Step -1
If IsError(Application.Match(x, TempArray, False)) Then
ppApp.ActivePresentation.Slides(x).Delete
End If
Next
End If
End Sub
Я ожидаю, что код откроет презентацию и удалит все слайды, кроме тех, которые я храню в «Таблице 3» - столбец 1. Что этовместо этого - просто открыть презентацию и больше ничего.Нет сообщения об ошибке.