Похоже, вы хотите скопировать каждый диапазон, указанный в MyRangeArray
, и вставить их в соответствующий слайд, указанный в MySlideArray
.
Следующая строка кода вставит каждый диапазон в соответствующий слайд, и возвращает ShapeRange
.
Set shp = myPresentation.slides(MySlideArray(x)).Shapes.Paste
Для возврата объекта Shape
попробуйте следующее ...
Set shp = myPresentation.slides(MySlideArray(x)).Shape`s.Paste(1)
Кстати, myPresentation
, mySlide
и PowerPointApp
объявлены как Variant
, так как вы не указали тип. Чтобы объявить их как Object
, вам нужно указать тип следующим образом ...
Dim myPresentation as Object, mySlide as Object, PowerPointApp as Object, shp As Object
И то же самое относится и к вашей следующей строке объявления.