Индикатор слайдов с помощью Excel VBA - PullRequest
0 голосов
/ 09 марта 2020

Мне очень нужны ваши подсказки относительно кода, который я недавно сделал.

В своем коде я попытался скопировать изображение таблицы данных и вставить его в слайд 5 Powerpoint. Примерно 20 таких таблиц, поэтому я объединил все в один код (успешно запущен), но у всех одна и та же проблема. Я хочу, чтобы скопированное изображение было вставлено в том месте, где находится текстовое поле с номером 5, но каким-то образом, когда я его копирую, там появляется текстовое поле (это происходит и со всеми другими слайдами). Картинка указана ниже. Кто-нибудь знает, где я поступил неправильно? Я действительно ценю за помощь

Sub Copy_Picture2()
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim ActiveSlide As PowerPoint.Slide

Set PPApp = CreateObject("PowerPoint.Application")
PPApp.Visible = msoCTrue
PPApp.Presentations.Open Filename:="C:\Users\huhiuhi\Downloads\Telegram Desktop\Monthly report - final table picture.pptx"

Set PPPres = PPApp.ActivePresentation
Set ActiveSlide = PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)

     Workbooks("Monthly report data.xlsm").Activate
     ActiveWorkbook.Sheets("TCH - Slide 1").Range("B4:K18").CopyPicture
     With PPPres.Slides(5)
     .Select
     .Shapes.Paste
     .Shapes(1).Select
      PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
      PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
      PPApp.ActiveWindow.Selection.ShapeRange.Left = 15.5
      PPApp.ActiveWindow.Selection.ShapeRange.Top = 62.5
        With ActiveSlide.Shapes(ActiveSlide.Shapes.Count)
          .Width = 932
          If .Width > 932 Then .Width = 932
        End With
     End With
End Sub 

Что у меня сейчас:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...