В вашем коде две неопределенные переменные
detinationppt
вместо destinationppt
Вы назначаете объект приложения PowerPoint для powerpointapp
, но через 2 строки вы получаете доступ к (неопределенному) объектуPowerPoint
Вы можете легко избежать таких ошибок, поставив Option Explicit
вверху кода.
Следующее, что вы можете назначить открытую презентацию, а не получить доступ к ActivePresentation
,Я сделал тест, и для меня не удалось получить доступ к ActivePresentation
.
И, пожалуйста, не вставляйте On Error resume Next
в свой код, если вы точно не знаете, что делаете.Если вы хотите избежать ошибки времени выполнения, так как Powerpoint не может быть запущен, вы должны самостоятельно обработать ошибку (как это делается вашим «кодом, который работает нормально»).Для начала просто удалите его.
Этот код работал для меня (конечно, с другим именем файла)
Set powerpointApp = CreateObject("powerpoint.application")
destinationPPT = C:\Users\OLX-Admin\Dropbox (Corporate Finance)\Naspers Monthly Reporting\Prep for call\From teams\FY2019\OLX Group Monthly Report_Sep'18_Macro.pptx
Set myPresentation = powerpointApp.Presentations.Open(destinationPPT)
Set mySlide = myPresentation.Slides(4)
(...)