Я использую следующий код, чтобы собрать презентацию Powerpoint из многих других презентаций Powerpoint:
Sub InsertFromOtherPres()
Dim xlApp As Object
Dim xlWorkBook As Object
Dim i, j As Byte
Dim wbname As String
Dim sldB, sldE As Byte
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
On Error Resume Next
Set xlWorkBook = xlApp.Workbooks.Open("C:\Users\----\OneDrive\Desktop\Roli PPT\Book - Pages - Macro.xlsm", True, False)
On Error GoTo 0
j = 3
For i = 2 To 154
wbname = "C:\Users\----\OneDrive\Desktop\Roli PPT\" & xlWorkBook.Sheets("Sheet1").Cells(i, "K").Value
sldB = xlWorkBook.Sheets("Sheet1").Cells(i, "L").Value
sldE = xlWorkBook.Sheets("Sheet1").Cells(i, "L").Value
ActivePresentation.Slides.InsertFromFile FileName:=wbname, Index:=j, SlideStart:=sldB, SlideEnd:=sldE
j = j + 1
Next i
Set xlApp = Nothing
Set xlWorkBook = Nothing
MsgBox "Ready"
End Sub
В файле excel в столбце «K» указаны имена исходных ppts, а в столбце «L» - это номера слайдов, которые нужно скопировать. Тем не менее, я получаю сообщение об ошибке, когда макрос попадает в строку, где число в столбце «L» больше 26 (это означает, что необходимый слайд больше 26 в исходном ppt)

Может ли кто-нибудь помочь с этим?
Также я ищу простой макрос, который, как и выше, может копировать данные страницы PDF-файла в другой PDF-файл, а также указывать, куда именно (номер страницы) копировать.