Rečeno je da do 50 posto PowerPoint prezentacija sadrži podatke koji su kopirani izravno iz Excela. U ovu izjavu nije teško povjerovati. Često je mnogo lakše analizirati i izraditi grafikone i prikaze podataka u Excelu nego u PowerPointu. Nakon što su ti grafikoni i prikazi podataka stvoreni, zašto ih jednostavno ne biste premjestili u PowerPoint? Makronaredba u ovom odjeljku omogućuje vam da dinamički kreirate PowerPoint slajdove koji sadrže podatke iz raspona koji odredite.
Možete preuzeti radni primjer slanja Excel podataka u PowerPoint .
Kako makro funkcionira
U ovom primjeru kopirate raspon iz Excel datoteke i zalijepite taj raspon na slajd u novostvorenoj PowerPoint prezentaciji.
Imajte na umu da, budući da će se ovaj kod pokretati iz Excela, morate postaviti referencu na biblioteku objekata Microsoft PowerPoint. Možete postaviti referencu tako da otvorite Visual Basic Editor u Excelu i odaberete Alat→Reference. Pomičite se prema dolje dok ne pronađete unos Microsoft PowerPoint xx Object Library, gdje je xx vaša verzija PowerPointa. Označite potvrdni okvir pored unosa.
Sub CopyRangeToPresentation ()
'Korak 1: Deklarirajte svoje varijable
Dim PP Kao PowerPoint.Application
Dim PPPres kao PowerPoint.Prezentacija
Dim PPSlide kao PowerPoint.Slide
Zatamni naslov slajda kao niz
'Korak 2: Otvorite PowerPoint i izradite novu prezentaciju
Postavite PP = Nova PowerPoint.Aplikacija
Postavite PPPres = PP.Prezentacije.Dodaj
PP.Vidljivo = Istina
'Korak 3: Dodajte novi slajd kao slajd 1 i postavite fokus na njega
Postavi PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
PPSlide.Odaberi
'Korak 4: Kopirajte raspon kao sliku
Listovi("Podaci slajda").Raspon("A1:J28").CopyPicture _
Izgled:=xlScreen, Format:=xlSlika
'Korak 5: Zalijepite sliku i podesite njen položaj
PPSlide.Shapes.Paste.Select
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
'Korak 6: Dodajte naslov na slajd
SlideTitle = "Moj prvi PowerPoint slajd"
PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
'Korak 7: Čišćenje memorije
PP.Aktiviraj
Postavite PPSlide = Ništa
Postavite PPPres = Ništa
Postavite PP = Ništa
Kraj pod
U koraku 1 deklarirate četiri varijable: PP je varijabla objekta koja izlaže objekt PowerPoint aplikacije, PPPres je varijabla objekta koja izlaže PowerPoint Presentation objekt, PPSlide je varijabla objekta koja izlaže PowerPoint Slide objekt, a SlideTitle je niz varijabla koja se koristi za prosljeđivanje teksta za naslov slajda.
Korak 2 otvara PowerPoint s praznom prezentacijom. Imajte na umu da ste svojstvo Visible PowerPoint aplikacije postavili na True kako biste bili sigurni da možete vidjeti radnju dok se kod izvodi.
U 3. koraku dodajete novi slajd u prezentaciju pomoću metode Dodaj objekta Slide. Imajte na umu da koristite ppLayoutTitleOnly, osiguravajući da je slajd stvoren s okvirom teksta naslova. Zatim napravite dodatni korak i postavite fokus na slajd. To znači da izričito kažete PowerPointu da odabere ovaj slajd, čineći ga aktivnim.
U 4. koraku koristite metodu CopyPicture za kopiranje ciljanog raspona kao slike. Raspon koji se ovdje kopira je raspon A1 do J28 na kartici Podaci slajda.
Korak 5 lijepi sliku u aktivni slajd i centrira sliku vodoravno i okomito.
U 6. koraku pohranjujete tekst za naslov u varijablu niza, a zatim tu varijablu prosljeđujete PowerPointu da biste tekst primijenili na okvir teksta naslova.
U 7. koraku otpuštate objekte dodijeljene vašim varijablama, smanjujući mogućnost bilo kakvih problema uzrokovanih rumenim objektima koji mogu ostati otvoreni u memoriji.
Kako koristiti makro
Da biste implementirali ovu makronaredbu, možete je kopirati i zalijepiti u standardni modul:
Aktivirajte Visual Basic Editor pritiskom na Alt+F11.
U prozoru Projekt pronađite naziv projekta/radne knjige.
Odaberite Umetanje→Modul.
Unesite ili zalijepite kod.