Bylo řečeno, že až 50 procent prezentací v PowerPointu obsahuje data, která byla zkopírována přímo z Excelu. Tomuto tvrzení není těžké uvěřit. Často je mnohem jednodušší analyzovat a vytvářet grafy a zobrazení dat v Excelu než v PowerPointu. Proč byste je po vytvoření těchto grafů a zobrazení dat jednoduše nepřesunuli do PowerPointu? Makro v této části umožňuje dynamicky vytvářet snímky PowerPoint, které obsahují data z rozsahu, který určíte.
Můžete si stáhnout funkční příklad odesílání dat aplikace Excel do aplikace PowerPoint .
Jak makro funguje
V tomto příkladu zkopírujete rozsah ze souboru aplikace Excel a vložíte tento rozsah na snímek v nově vytvořené prezentaci PowerPoint.
Mějte na paměti, že protože tento kód bude spouštěn z Excelu, musíte nastavit odkaz na Microsoft PowerPoint Object Library. Referenci můžete nastavit otevřením Editoru jazyka Visual Basic v Excelu a výběrem položky Nástroj→Odkazy. Přejděte dolů, dokud nenajdete položku Microsoft PowerPoint xx Object Library, kde xx je vaše verze PowerPointu. Zaškrtněte políčko vedle položky.
Sub CopyRangeToPresentation ()
'Krok 1: Deklarujte své proměnné
Dim PP As PowerPoint.Application
Dim PPPres jako PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Ztlumit název snímku jako řetězec
'Krok 2: Otevřete PowerPoint a vytvořte novou prezentaci
Nastavit PP = New PowerPoint.Application
Nastavit PPPres = PP.Prezentace.Přidat
PP. Viditelné = Pravda
'Krok 3: Přidejte nový snímek jako snímek 1 a nastavte na něj fokus
Nastavit PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
PPSlide.Vyberte
'Krok 4: Zkopírujte rozsah jako obrázek
Sheets("Data snímku").Range("A1:J28").CopyPicture _
Vzhled:=xlScreen, Formát:=xlObraz
'Krok 5: Vložte obrázek a upravte jeho polohu
PPSlide.Shapes.Paste.Select
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
'Krok 6: Přidejte název snímku
SlideTitle = "Můj první PowerPointový snímek"
PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
'Krok 7: Vyčištění paměti
PP.Aktivovat
Nastavit PPSlide = nic
Nastavit PPPres = nic
Nastavte PP = nic
Konec sub
V kroku 1 deklarujete čtyři proměnné: PP je objektová proměnná, která zpřístupňuje objekt aplikace PowerPoint, PPPres je objektová proměnná, která zpřístupňuje objekt PowerPoint Presentation, PPSlide je objektová proměnná, která zpřístupňuje objekt PowerPoint Slide, a SlideTitle je řetězec. proměnná použitá k předání textu pro nadpis snímku.
Krok 2 otevře PowerPoint s prázdnou prezentací. Všimněte si, že nastavíte vlastnost Visible aplikace PowerPoint na hodnotu True, abyste zajistili, že akci uvidíte při spuštění kódu.
V kroku 3 přidáte nový snímek do prezentace pomocí metody Add objektu Slide. Všimněte si, že používáte ppLayoutTitleOnly a ujistěte se, že snímek je vytvořen s textovým rámečkem nadpisu. Poté uděláte krok navíc a zaostříte na snímek. To znamená, že výslovně řeknete PowerPointu, aby vybral tento snímek, čímž jej aktivujete.
V kroku 4 použijete metodu CopyPicture ke zkopírování cílového rozsahu jako obrázku. Rozsah, který se zde kopíruje, je rozsah A1 až J28 na kartě Data snímku.
Krok 5 vloží obrázek do aktivního snímku a vycentruje obrázek vodorovně i svisle.
V kroku 6 uložíte text pro nadpis do řetězcové proměnné a poté tuto proměnnou předáte do aplikace PowerPoint, aby se text použil na textový rámeček nadpisu.
V kroku 7 uvolníte objekty přiřazené k vašim proměnným, čímž snížíte pravděpodobnost problémů způsobených objekty rouge, které mohou zůstat otevřené v paměti.
Jak používat makro
Chcete-li implementovat toto makro, můžete jej zkopírovat a vložit do standardního modulu:
Aktivujte Editor jazyka Visual Basic stisknutím Alt+F11.
V okně Projekt najděte název projektu/sešitu.
Vyberte Vložit → Modul.
Zadejte nebo vložte kód.