Azt mondták, hogy a PowerPoint-prezentációk akár 50 százaléka olyan adatokat tartalmaz, amelyeket közvetlenül az Excelből másoltak ki. Ezt az állítást nem nehéz elhinni. Gyakran sokkal egyszerűbb grafikonok és adatnézetek elemzése és létrehozása Excelben, mint PowerPointban. A diagramok és adatnézetek létrehozása után miért ne helyezné át őket egyszerűen a PowerPointba? Az ebben a szakaszban található makró lehetővé teszi olyan PowerPoint-diák dinamikus létrehozását, amelyek egy Ön által megadott tartományból tartalmaznak adatokat.
Letölthet egy működő példát az Excel adatok PowerPointba küldésére .
Hogyan működik a makró
Ebben a példában egy tartományt másol egy Excel-fájlból, és beilleszti azt egy újonnan létrehozott PowerPoint-prezentáció diájába.
Ne feledje, hogy mivel ez a kód az Excelből fog futni, be kell állítania a Microsoft PowerPoint Object Library hivatkozását. A referenciát úgy állíthatja be, hogy az Excelben megnyitja a Visual Basic Editort, és az Eszköz → Hivatkozások menüpontot választja. Görgessen lefelé, amíg meg nem találja a Microsoft PowerPoint xx Object Library bejegyzést , ahol az xx a PowerPoint Ön verziója. Jelölje be a bejegyzés melletti jelölőnégyzetet.
Sub CopyRangeToPresentation ()
'1. lépés: Deklarálja a változókat
Dim PP PowerPoint.Application-ként
Dim PPPres PowerPoint.Presentationként
Dim PPSlide PowerPoint.Slide-ként
Dim SlideTitle As String
'2. lépés: Nyissa meg a PowerPoint alkalmazást, és hozzon létre új bemutatót
Állítsa be a PP-t = New PowerPoint.Application
Állítsa be a PPPres = PP.Presentations.Add
PP.Visible = igaz
'3. lépés: Adjon hozzá új diát 1. diaként, és állítsa rá a fókuszt
PPSlide beállítása = PPPres.Slides.Add(1, ppLayoutTitleOnly)
PPSlide.Select
'4. lépés: Másolja a tartományt képként
Sheets("Diaadatok").Tartomány("A1:J28").CopyPicture _
Megjelenés:=xlScreen, Formátum:=xlKép
5. lépés: Illessze be a képet, és állítsa be a helyzetét
PPSlide.Shapes.Paste.Select
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
'6. lépés: Adja hozzá a címet a diához
SlideTitle = "Az első PowerPoint diám"
PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
7. lépés: Memóriatisztítás
PP. Aktiválja
PPSlide beállítása = Semmi
Állítsa be: PPPres = Semmi
PP beállítása = Semmi
Vége al
Az 1. lépésben négy változót deklarál: a PP egy objektumváltozó, amely a PowerPoint Application objektumot, a PPPres egy objektumváltozó, amely a PowerPoint Presentation objektumot, a PPSlide egy objektumváltozó, amely a PowerPoint Slide objektumot, és a SlideTitle egy karakterlánc. változó, amelyet a diacím szövegének átadására használnak.
A 2. lépés megnyitja a PowerPoint egy üres prezentációval. Vegye figyelembe, hogy a PowerPoint-alkalmazás Visible tulajdonságát True értékre állítja, hogy a kód futása közben láthassa a műveletet.
A 3. lépésben új diát ad hozzá a bemutatóhoz a Diaobjektum hozzáadása módszerével. Vegye figyelembe, hogy a ppLayoutTitleOnly-t használja, és gondoskodik arról, hogy a dia címszövegkerettel legyen létrehozva. Ezután tesz egy további lépést, és a diára állítja a fókuszt. Ez azt jelenti, hogy kifejezetten megmondja a PowerPointnak, hogy válassza ki ezt a diát, ezzel aktiválva azt.
A 4. lépésben a CopyPicture módszerrel másolja a céltartományt képként. Az ide másolt tartomány A1-től J28-ig terjed a Diaadatok lapon.
Az 5. lépés beilleszti a képet az aktív diába, és vízszintesen és függőlegesen is középre állítja.
A 6. lépésben eltárolja a cím szövegét egy karakterlánc-változóban, majd átadja a változót a PowerPointnak, hogy szöveget alkalmazzon a cím szövegkeretében.
A 7. lépésben felszabadítja a változóihoz rendelt objektumokat, csökkentve ezzel a memóriában nyitva maradó durva objektumok által okozott problémák esélyét.
Hogyan kell használni a makrót
A makró megvalósításához másolja és illessze be egy szabványos modulba:
Aktiválja a Visual Basic Editort az Alt+F11 megnyomásával.
A Projekt ablakban keresse meg a projekt/munkafüzet nevét.
Válassza a Beszúrás → Modul menüpontot.
Írja be vagy illessze be a kódot.