Казано е, че до 50 процента от презентациите на PowerPoint съдържат данни, които са копирани направо от Excel. Това твърдение не е трудно да се повярва. Често е много по-лесно да анализирате и създавате диаграми и изгледи на данни в Excel, отколкото в PowerPoint. След като тези диаграми и изгледи на данни са създадени, защо просто не ги преместите в PowerPoint? Макросът в този раздел ви позволява да създавате динамично слайдове на PowerPoint, които съдържат данни от диапазон, който сте посочили.
Можете да изтеглите работещ пример за изпращане на данни от Excel в PowerPoint .
Как работи макросът
В този пример копирате диапазон от файл на Excel и поставяте този диапазон в слайд в новосъздадена презентация на PowerPoint.
Имайте предвид, че тъй като този код ще се изпълнява от Excel, трябва да зададете препратка към библиотеката с обекти на Microsoft PowerPoint. Можете да зададете препратката, като отворите редактора на Visual Basic в Excel и изберете Инструмент→ Референции. Превъртете надолу, докато намерите записа Microsoft PowerPoint xx Object Library, където xx е вашата версия на PowerPoint. Поставете отметка в квадратчето до записа.
Sub CopyRangeToPresentation ()
„Стъпка 1: Декларирайте вашите променливи
Dim PP като PowerPoint.Application
Dim PPPres като PowerPoint.Presentation
Dim PPSlide като PowerPoint.Slide
Dim SlideTitle като низ
„Стъпка 2: Отворете PowerPoint и създайте нова презентация
Задайте PP = New PowerPoint.Application
Задайте PPPres = PP.Presentations.Add
PP.Visible = Вярно
„Стъпка 3: Добавете нов слайд като слайд 1 и задайте фокус върху него
Задайте PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
PPSlide.Select
„Стъпка 4: Копирайте диапазона като картина
Sheets("Slide Data").Обхват("A1:J28").CopyPicture _
Външен вид:=xlScreen, Формат:=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.Активиране
Задайте PPSlide = Нищо
Задайте PPPres = Нищо
Задайте PP = Нищо
Край под
В стъпка 1 декларирате четири променливи: PP е обектна променлива, която излага обекта на PowerPoint Application, PPPres е обектна променлива, която излага обекта на презентацията на PowerPoint, PPSlide е обектна променлива, която излага обекта PowerPoint Slide и SlideTitle е низ променлива, използвана за предаване на текста за заглавието на слайда.
Стъпка 2 отваря PowerPoint с празна презентация. Имайте предвид, че сте задали свойството Visible на приложението PowerPoint на True, за да сте сигурни, че можете да видите действието, докато кодът се изпълнява.
В стъпка 3 добавяте нов слайд към презентацията, като използвате метода Add на обекта Slide. Имайте предвид, че използвате ppLayoutTitleOnly, като се уверите, че слайдът е създаден с рамка за заглавен текст. След това правите допълнителна стъпка и залагате на фокус върху слайда. Това означава, че вие изрично казвате на PowerPoint да избере този слайд, което го прави активен.
В стъпка 4 използвате метода CopyPicture, за да копирате целевия диапазон като картина. Диапазонът, който се копира тук, е диапазон от A1 до J28 в раздела Данни за слайда.
Стъпка 5 поставя картината в активния слайд и центрира картината както хоризонтално, така и вертикално.
В стъпка 6 съхранявате текста за заглавието в низова променлива и след това предавате тази променлива на PowerPoint, за да приложите текст към текстовата рамка на заглавието.
В стъпка 7 освобождавате обектите, присвоени на вашите променливи, намалявайки вероятността от проблеми, причинени от румени обекти, които може да останат отворени в паметта.
Как да използвате макроса
За да приложите този макрос, можете да го копирате и поставите в стандартен модул:
Активирайте редактора на Visual Basic, като натиснете Alt+F11.
В прозореца на проекта намерете името на вашия проект/работна книга.
Изберете Вмъкване→Модул.
Въведете или поставете кода.