Способ скопировать два диапазона из Excel в Powerpoint - PullRequest
0 голосов
/ 24 марта 2020

Хорошо, у меня есть 16 ссылок в раскрывающемся списке, расположенном на C10 в моей электронной таблице, это изменяет информацию в диапазонах A1: Q39, после чего я хочу, чтобы диапазон A1: Q39 и диапазон A41: Q69 были скопированы как фотографии на отдельные слайды в презентации PowerPoint.

Sub ExcelRangeToPowerPoint()

Dim rng As Range
Dim rng2 As Range
Dim PowerPointApp As Object
Dim myPresentation As Object
Dim mySlide As Object
Dim myShape As Object

Set rng = ThisWorkbook.ActiveSheet.Range("A1:Q39")
Set rng2 = ThisWorkbook.ActiveSheet.Range("A41:Q69")

    On Error Resume Next
        Set PowerPointApp = GetObject(class:="PowerPoint.Application")
        Err.Clear
        If PowerPointApp Is Nothing Then Set PowerPointApp = CreateObject(class:="PowerPoint.Application")
    On Error GoTo 0

    Application.ScreenUpdating = False
Set myPresentation = PowerPointApp.Presentations.Add
Set mySlide = myPresentation.Slides.Add(1, 12)
    Cells(10, 3) = "2018A"
    rng.Copy
    mySlide.Shapes.PasteSpecial DataType:=3
Set myShape = mySlide.Shapes(mySlide.Shapes.Count)
    myShape.Left = 56
    myShape.Top = 52
    PowerPointApp.Visible = True
    PowerPointApp.Activate
    Application.CutCopyMode = False

Set mySlide = myPresentation.Slides.Add(1, 12)
    rng2.Copy
    mySlide.Shapes.PasteSpecial DataType:=3
Set myShape = mySlide.Shapes(mySlide.Shapes.Count)
    myShape.Left = 56
    myShape.Top = 100

PowerPointApp.Visible = True
PowerPointApp.Activate
Application.CutCopyMode = False

Это то, что я имею до сих пор, это просто повторяется 16 раз для ссылки, которая изменяется с помощью ячеек (10, 3). Когда я пытаюсь запустить макрос, он может работать для некоторых из этих ссылок, но я обычно получаю ошибку во время выполнения "shape.pastespecial: Invalid request. Указанный тип данных недоступен" Я, как вы можете сказать, довольно неопытный когда дело доходит до VBA, но я надеюсь, что кто-то сможет пролить свет на это для меня? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Спасибо.

...