Hovorí sa, že až 50 percent prezentácií v PowerPointe obsahuje údaje, ktoré boli skopírované priamo z Excelu. Tomuto tvrdeniu nie je ťažké uveriť. Často je oveľa jednoduchšie analyzovať a vytvárať grafy a zobrazenia údajov v Exceli ako v PowerPointe. Prečo by ste po vytvorení týchto grafov a zobrazení údajov jednoducho nepresunuli do PowerPointu? Makro v tejto časti vám umožňuje dynamicky vytvárať snímky programu PowerPoint, ktoré obsahujú údaje z rozsahu, ktorý určíte.
Môžete si stiahnuť funkčný príklad odosielania údajov programu Excel do programu PowerPoint .
Ako funguje makro
V tomto príklade skopírujete rozsah zo súboru programu Excel a prilepíte tento rozsah na snímku v novovytvorenej prezentácii programu PowerPoint.
Majte na pamäti, že pretože tento kód bude spustený z Excelu, musíte nastaviť odkaz na Microsoft PowerPoint Object Library. Referenciu môžete nastaviť otvorením editora jazyka Visual Basic v Exceli a výberom položky Nástroj→Odkazy. Posúvajte sa nadol, kým nenájdete položku Microsoft PowerPoint xx Object Library, kde xx je vaša verzia PowerPointu. Začiarknite políčko vedľa položky.
Sub CopyRangeToPresentation ()
'Krok 1: Deklarujte svoje premenné
Dim PP As PowerPoint.Application
Dim PPPres ako PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Dim SlideTitle As String
„Krok 2: Otvorte PowerPoint a vytvorte novú prezentáciu
Nastaviť PP = New PowerPoint.Application
Nastaviť PPPres = PP.Prezentácie.Pridať
PP. Viditeľné = Pravda
'Krok 3: Pridajte novú snímku ako snímku 1 a nastavte na ňu zameranie
Nastaviť PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
PPSlide.Vyberte
'Krok 4: Skopírujte rozsah ako obrázok
Tabuľky("Údaje snímky").Rozsah("A1:J28").CopyPicture _
Vzhľad:=xlObrazovka, Formát:=xlObraz
'Krok 5: Prilepte obrázok a upravte jeho polohu
PPSlide.Shapes.Paste.Select
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
'Krok 6: Pridajte názov na snímku
SlideTitle = "Moja prvá PowerPointová snímka"
PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
'Krok 7: Čistenie pamäte
PP.Aktivovať
Nastavte PPSlide = Nič
Nastavte PPPres = Nič
Nastavte PP = nič
Koniec pod
V kroku 1 deklarujete štyri premenné: PP je objektová premenná, ktorá odhaľuje objekt PowerPoint aplikácie, PPPres je objektová premenná, ktorá odhaľuje objekt PowerPointovej prezentácie, PPSlide je objektová premenná, ktorá odhaľuje objekt PowerPoint Slide, a SlideTitle je reťazec. premenná používaná na odovzdanie textu pre názov snímky.
Krok 2 otvorí PowerPoint s prázdnou prezentáciou. Všimnite si, že vlastnosť Visible aplikácie PowerPoint nastavíte na hodnotu True, aby ste zaistili, že akciu uvidíte pri spustení kódu.
V kroku 3 pridáte do prezentácie novú snímku pomocou metódy Pridať objektu snímky. Všimnite si, že používate ppLayoutTitleOnly a uistite sa, že snímka je vytvorená s textovým rámčekom nadpisu. Potom urobíte krok navyše a zaostríte na snímku. To znamená, že výslovne poviete PowerPointu, aby vybral túto snímku, čím ju aktivujete.
V kroku 4 použijete metódu CopyPicture na skopírovanie cieľového rozsahu ako obrázok. Rozsah, ktorý sa tu kopíruje, je rozsah A1 až J28 na karte Údaje snímky.
Krok 5 vloží obrázok do aktívnej snímky a vycentruje obrázok horizontálne aj vertikálne.
V kroku 6 uložíte text pre nadpis do reťazcovej premennej a potom túto premennú odošlete do PowerPointu, aby ste použili text na textový rámček nadpisu.
V kroku 7 uvoľníte objekty priradené k vašim premenným, čím znížite možnosť akýchkoľvek problémov spôsobených objektmi rouge, ktoré môžu zostať otvorené v pamäti.
Ako používať makro
Ak chcete implementovať toto makro, môžete ho skopírovať a prilepiť do štandardného modulu:
Aktivujte Editor jazyka Visual Basic stlačením Alt+F11.
V okne Projekt nájdite názov projektu/zošita.
Vyberte Vložiť → Modul.
Zadajte alebo prilepte kód.