MyTetra Share
Делитесь знаниями!
Как отправить данные Excel в PowerPoint
Время создания: 12.10.2019 20:34
Раздел: !Закладки - VBA - PowerPoint
Запись: xintrea/mytetra_db_adgaver_new/master/base/1570884957bvt2xypqrq/text.html на raw.githubusercontent.com

Как отправить данные Excel в PowerPoint

Автор Дмитрий Якушев На чтение3 мин. Просмотров64

Что делает макрос: До 50 процентов презентаций PowerPoint содержат данные, которые были скопированы прямо из Excel. В это не трудно поверить. Так намного легче анализировать и создавать диаграммы и данные в Excel, чем в PowerPoint. После того как вы создали эти диаграммы и представления данных, то почему бы не отправить данные в PowerPoint.
Макрос в этом разделе позволяет автоматически создавать слайды PowerPoint, которые содержат данные из указанного диапазона.

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как этот код работает
  4. Как использовать

Как макрос работает

В этом примере вы копируете диапазон из файла Excel и вставляете его в слайд недавно созданной презентации PowerPoint.
Имейте в виду, что этот код запускается из Excel, поэтому вам необходимо установить ссылку на Microsoft PowerPoint Object Library. Опять же, вы можете установить ссылку, открыв редактор Visual Basic в Excel и выберите Tools➜References. Прокрутите вниз, пока не найдете запись Microsoft PowerPoint XX Object Library, где XX — это ваша версия PowerPoint. Установите флажок рядом с записью.

Код макроса


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

Sub CopyRangeToPresentation ()

 

'Шаг 1: Объявляем переменные

Dim PP As PowerPoint.Application

Dim PPPres As PowerPoint.Presentation

Dim PPSlide As PowerPoint.Slide

Dim SlideTitle As String

 

'Шаг 2: Откройте PowerPoint и создайте новую презентацию

Set PP = New PowerPoint.Application

Set PPPres = PP.Presentations.Add

PP.Visible = True

 

'Шаг 3: Добавьте новый слайд как слайд 1 и установите на него фокус

Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)

PPSlide.Select

 

'Шаг 4: Скопируйте диапазон, как изображение

Sheets("Данные слайдов").Range("A1:J28").CopyPicture _

Appearance:=xlScreen, Format:=xlPicture

 

'Шаг 5: Вставьте картинку и отрегулируйте ее положение

PPSlide.Shapes.Paste.Select

PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True

PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True

 

'Шаг 6: Добавьте заголовок к слайду

SlideTitle = "Мой первый слайд PowerPoint"

PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle

 

'Шаг 7: Очистка памяти

PP.Activate

Set PPSlide = Nothing

Set PPPres = Nothing

Set PP = Nothing

 

End sub

Как этот код работает

  1. Шаг 1 объявляет четыре переменные:
    • PP является переменной объекта, которая выставляет объект PowerPoint Application;
    • PPPres является переменной объекта, которая выставляет объект презентации PowerPoint;
    • PPSlide является переменной объекта, которая выставляет объект слайдов в PowerPoint;
    • SlideTitle является переменной строки, используемая
      для передачи текста для заголовка слайда.
  2. Шаг 2 открывает PowerPoint с пустой презентации. Обратите внимание, что мы устанавливаем свойство приложения «Видимый» PowerPoint в True. Это гарантирует, что вы можете увидеть, как работает код.
  3. Шаг 3 добавляет новый слайд в презентации с помощью метода Add объекта Slide. Обратите внимание, что мы используем ppLayoutTitleOnly, слайд создается с названием текстового фрейма. Затем мы берем дополнительный шаг и устанавливаем фокус на слайде. PowerPoint выбирает этот слайд, и делает его активным.
  4. Шаг 4 использует метод CopyPicture для копирования целевого диапазона в качестве изображения. Диапазон копирования здесь A1 до J28 на вкладке Slide Data.
  5. Шаг 5 вставляет изображение в центр активного слайда
  6. Далее сохраняем текст для заголовка в строковой переменной, а затем передаем эту переменную в PowerPoint, чтобы применить текст в заголовке текстового фрейма.
  7. Шаг 7 очищает память
Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования