Kako stvoriti i umetnuti oblike u PowerPoint s VBA?

Prije nekoliko dana htio sam automatizirati prilično svakodnevni zadatak stvaranja nekih PowerPoint slajdova. Kada automatizirate PowerPoint, obično radite s kolekcijom Slides and Shapes. Slajdovi su prilično razumljivi, a oblici su gotovo sve ostalo, uključujući tekstualne okvire, akcijske gumbe, medijske objekte, oznake, slike, oblačiće, dijagrame toka i tako dalje i tako dalje. Iako ću predstaviti tehnike s PowerPointom, neke od sintakse su zapravo prilično primjenjive na Microsoft Word i Excel.

Samo da rezimiramo, prije nego što počnete s razvojem VBA makronaredbi u PowerPointu morate imati omogućenu karticu za razvoj .

Prvo, krenimo automatskim stvaranjem prezentacije s nekim slajdovima kao što je prikazano u ovom vodiču: stvaranje prezentacije u VBA .

Sada možemo početi raditi s oblicima. Prvo, idemo naprijed i otvorimo VBA Editor pritiskom na Alt+ F11. Ako ste slijedili prethodni vodič, trebali biste imati modul 1 na popisu modula (kao što je prikazano u nastavku)

Rad s oblicima s VBA

Dodavanje tekstualnog okvira s VBA

Počet ćemo dodavanjem okomitog okvira za tekst našem prvom slajdu u prezentaciji. Dodajte sljedeći kod u Module1, zatim nastavite i pritisnite gumb Spremi (Ctrl+s) i Pokrenite makronaredbu (pritisnite F5 ili pritisnite Pokreni pod/korisnički obrazac).

Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)

    With MySlide.Shapes
        .AddTextbox(Orientation:=msoTextOrientationVertical, _
         Left:=90, Top:=200, Width:=80, _
         Height:=200).TextFrame.TextRange.Text _
        = ("This is my vertical text box")

End With

End Sub

Imajte na umu da možete prilično jednostavno promijeniti veličinu tekstualnog okvira pomoću VBA. U ovom slučaju promijenit ćemo veličinu prvog oblika na drugom slajdu, slobodno ga mijenjajte po potrebi.

Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)

'Add your required dimensions as needed below
   With MyShape
         .Width = 200
         .Height = 35

End With
End Sub

Tekstualni efekti s VBA

Pretpostavimo sada da želimo dodati tekstualni okvir svim slajdovima u prezentaciji, ovaj put malo vizualno privlačnijim. Da bismo to učinili, koristit ćemo VBA za stvaranje prilagođenih tekstualnih efekata koje možemo ugraditi u jedan ili više slajdova u prezentaciji. Prvo ćemo proći kroz slajdove prezentacije, a zatim prema potrebi dodati efekt teksta.

Sub SetEffects()

Dim i As Integer

For i = 1 To ActivePresentation.Slides.Count
    ActivePresentation.Slides(i) _
    .Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
    "Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next

End Sub

Evo rezultata ;-):

Kako stvoriti i umetnuti oblike u PowerPoint s VBA?

Imajte na umu da biste mogli koristiti i jednostavan vodeni žig za postizanje ovog specifičnog rezultata.

PowerPoint oblačići s VBA

Naš sljedeći primjer bit će dodavanje dodatnih opisa vašoj prezentaciji. U ovom primjeru dodat ćemo oblačić drugom slajdu.

Sub CreateCallout()

ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _  Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"

End Sub

Postavljanje svojstava za oblik

Mnoga svojstva oblikovanja oblika nisu postavljena svojstvima koja se izravno primjenjuju na  objekt Shape  ili  ShapeRange  . Umjesto toga, povezani atributi oblika grupirani su pod sekundarnim objektima, kao što je  objekt FillFormat  , koji sadrži sva svojstva koja se odnose na ispunu oblika, ili  objekt LinkFormat  , koji sadrži sva svojstva koja su jedinstvena za povezane OLE objekte. Da biste postavili svojstva za oblik, prvo morate vratiti objekt koji predstavlja skup povezanih atributa oblika, a zatim postaviti svojstva tog vraćenog objekta. Na primjer, koristite  svojstvo Fill  za vraćanje  objekta FillFormat  , a zatim postavite   svojstvo  ForeColor objekta FillFormat  da postavite boju prednjeg plana ispune za navedeni oblik, kao što je prikazano u sljedećem primjeru.

VB

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

Primjena svojstva ili metode na nekoliko oblika u isto vrijeme

U korisničkom sučelju postoje neke operacije koje možete izvesti s nekoliko odabranih oblika; na primjer, možete odabrati nekoliko oblika i postaviti sve njihove pojedinačne ispune odjednom. Postoje i druge operacije koje možete izvesti samo s jednim odabranim oblikom; na primjer, tekst u obliku možete uređivati ​​samo ako je odabran jedan oblik.

U Visual Basicu postoje dva načina za primjenu svojstava i metoda na skup oblika. Ova dva načina vam omogućuju izvođenje bilo koje operacije koju možete izvesti na jednom obliku na nizu oblika, bez obzira na to možete li izvesti istu operaciju u korisničkom sučelju ili ne.

  • Ako operacija radi na više odabranih oblika u korisničkom sučelju, istu operaciju možete izvesti u Visual Basicu tako da konstruirate  kolekciju ShapeRange  koja sadrži oblike s kojima želite raditi i primjenom odgovarajućih svojstava i metoda izravno na  kolekciju ShapeRange  .

  • Ako operacija ne radi na višestruko odabranih oblika u korisničkom sučelju, još uvijek možete izvršiti operaciju u Visual Basicu tako što ćete proći kroz  kolekciju Shapes  ili kroz  kolekciju ShapeRange  koja sadrži oblike s kojima želite raditi i primjenom odgovarajućih svojstava i metode za pojedinačne  Shape  objekte u zbirci.

Mnoga svojstva i metode koje se primjenjuju na  objekt Shape  i  kolekciju ShapeRange  ne uspijevaju ako se primjenjuju na određene vrste oblika. Na primjer,  svojstvo TextFrame  ne uspijeva ako se primijeni na oblik koji ne može sadržavati tekst. Ako niste sigurni da svaki oblik u  zbirci ShapeRange  može imati određeno svojstvo ili metodu primijenjenu na njega, nemojte primjenjivati ​​svojstvo ili metodu na  zbirku ShapeRange  . Ako želite primijeniti jedno od ovih svojstava ili metoda na zbirku oblika, morate proći kroz zbirku i testirati svaki pojedinačni oblik kako biste bili sigurni da je to odgovarajuća vrsta oblika prije nego što na njega primijenite svojstvo ili metodu.

Primjena svojstva ili metode na kolekciju ShapeRange

Ako možete izvesti operaciju na više odabranih oblika u korisničkom sučelju u isto vrijeme, možete napraviti programski ekvivalent konstruiranjem kolekcije  ShapeRange  i zatim primjenom odgovarajućih svojstava ili metoda na nju. Sljedeći primjer konstruira raspon oblika koji sadrži automatske oblike pod nazivom "Velika zvijezda" i "Mala zvijezda" i na njih primjenjuje gradijentnu ispunu i na njih primjenjuje gradijentnu ispunu.myDocument

VB

Set myDocument = ActivePresentation.Slides(1) 
Set myRange = myDocument.Shapes _ 
    .Range(Array("Big Star", "Little Star")) 
myRange.Fill.PresetGradient msoGradientHorizontal, _ 
    1, msoGradientBrass

Sljedeće su opće smjernice o tome kako se svojstva i metode ponašaju kada se primjenjuju na  kolekciju ShapeRange  .

  • Primjena metode na kolekciju jednaka je primjeni metode na svaki pojedinačni  Shape  objekt u toj kolekciji.

  • Postavljanje vrijednosti svojstva zbirke jednako je postavljanju vrijednosti svojstva svakog pojedinačnog oblika u tom rasponu.

  • Svojstvo zbirke koje vraća konstantu vraća vrijednost svojstva za pojedinačni oblik u zbirci ako svi oblici u zbirci imaju istu vrijednost za to svojstvo. Ako nemaju svi oblici u zbirci istu vrijednost za svojstvo, vraća se "mješovita" konstanta.

  • Svojstvo zbirke koje vraća jednostavnu vrstu podataka (kao što je  LongSingle ili  String ) vraća vrijednost svojstva za pojedinačni oblik ako svi oblici u zbirci imaju istu vrijednost za to svojstvo.

  • Vrijednost nekih svojstava može se vratiti ili postaviti samo ako u kolekciji postoji točno jedan oblik. Ako postoji više od jednog oblika u zbirci, javlja se pogreška vremena izvođenja. To je općenito slučaj za vraćanje ili postavljanje svojstava kada je ekvivalentna radnja u korisničkom sučelju moguća samo s jednim oblikom (radnje poput uređivanja teksta u obliku ili uređivanja točaka slobodnog oblika).

Prethodne smjernice također se primjenjuju kada postavljate svojstva oblika koji su grupirani pod sekundarnim objektima kolekcije  ShapeRange  , kao što je  objekt FillFormat  . Ako sekundarni objekt predstavlja operacije koje se mogu izvesti na više odabranih objekata u korisničkom sučelju, moći ćete vratiti objekt iz kolekcije  ShapeRange  i postaviti njegova svojstva. Na primjer, možete koristiti  svojstvo Fill  za vraćanje  objekta FillFormat  koji predstavlja ispune svih oblika u  kolekciji ShapeRange  . Postavljanje svojstava ovog  objekta FillFormat  postavit će ista svojstva za sve pojedinačne oblike u  kolekciji ShapeRange  .

Prolaženje kroz kolekciju Shapes ili ShapeRange

Čak i ako ne možete izvršiti operaciju na nekoliko oblika u korisničkom sučelju u isto vrijeme tako da ih odaberete i zatim koristite naredbu, možete izvršiti ekvivalentnu radnju programski tako da se krećete kroz kolekciju  Shapes  ili kroz  kolekciju ShapeRange  koja sadrži oblike koje želite raditi i primjenom odgovarajućih svojstava i metoda na pojedinačne  objekte Shape  u kolekciji. Sljedeći primjer prolazi kroz sve oblike i dodaje tekst svakom obliku koji je AutoShape. i dodaje tekst svakom obliku koji je AutoShape.myDocument

VB

Set myDocument = ActivePresentation.Slides(1) 
For Each sh In myDocument.Shapes 
    If sh.Type = msoAutoShape Then 
        sh.TextFrame.TextRange.InsertAfter " (version 1)" 
    End If 
Next

Sljedeći primjer konstruira  kolekciju ShapeRange  koja sadrži sve trenutno odabrane oblike u aktivnom prozoru i postavlja tekst u svaki oblik u kolekciji koja može sadržavati tekst.

VB

For Each sh in ActiveWindow.Selection.ShapeRange
    If sh.HasTextFrame Then
        sh.TextFrame.TextRange = "Initially selected"
    End If
Next

Poravnavanje, distribucija i grupiranje oblika u rasponu oblika

Upotrijebite  metode Poravnaj  i  Distribuiraj  da postavite skup oblika relativno jedan prema drugom ili prema dokumentu koji ih sadrži. Koristite  metodu grupiranja  ili  metodu ponovnog grupiranja  da biste formirali jedan grupirani oblik iz skupa oblika.


Upute za slušanje glazbe na Google kartama

Upute za slušanje glazbe na Google kartama

Upute za slušanje glazbe na Google Maps Trenutno korisnici mogu putovati i slušati glazbu koristeći Google Map aplikaciju na iPhoneu. Danas vas WebTech360 poziva

Upute za korištenje LifeBOX-a - Viettelove online usluge pohrane

Upute za korištenje LifeBOX-a - Viettelove online usluge pohrane

Upute za korištenje LifeBOX - Viettelove online usluge pohrane, LifeBOX je novopokrenuta Viettelova online usluga pohrane s mnogim vrhunskim značajkama

Kako ažurirati status na Facebook Messengeru

Kako ažurirati status na Facebook Messengeru

Kako ažurirati status na Facebook Messengeru, Facebook Messenger u najnovijoj verziji korisnicima je pružio izuzetno korisnu značajku: mijenjanje

Upute za kartašku igru ​​Werewolf Online na računalu

Upute za kartašku igru ​​Werewolf Online na računalu

Upute za kartašku igru ​​Werewolf Online na računalu, Upute za preuzimanje, instaliranje i igranje Werewolf Online na računalu preko iznimno jednostavnog LDPlayer emulatora.

Upute za brisanje Storiesa objavljenih na Instagramu

Upute za brisanje Storiesa objavljenih na Instagramu

Upute za brisanje priča objavljenih na Instagramu Ako želite izbrisati priču na Instagramu, ali ne znate kako? Danas WebTech360

Upute za dodavanje istaknutih fotografija na Facebook

Upute za dodavanje istaknutih fotografija na Facebook

Upute za dodavanje istaknutih slika na Facebook. Trenutno nam Facebook dopušta postavljanje istaknutih slika na naše osobne stranice. Ovdje vas pozivamo

Kako popraviti pogrešku Windows Quick Assist ne radi

Kako popraviti pogrešku Windows Quick Assist ne radi

Kako popraviti pogrešku Windows Quick Assist ne radi, Windows Quick Assist vam pomaže da se jednostavno povežete s udaljenim računalom. Međutim, ponekad stvara i pogreške. Ali,

Upute za uključivanje/isključivanje miksanja pjesama na Spotifyju

Upute za uključivanje/isključivanje miksanja pjesama na Spotifyju

Upute za uključivanje/isključivanje miksanja pjesama na Spotifyju, kako bismo pomogli ljudima da brzo promijene redoslijed pjesama na gornjoj glazbenoj listi za reprodukciju

Upute za tajno snimanje zvuka na iPhone

Upute za tajno snimanje zvuka na iPhone

Upute za tajno snimanje na iPhoneu. Trenutačno korisnici iPhonea mogu tajno snimati dodirivanjem stražnje strane telefona. Danas vas WebTech360 poziva

Kako koristiti Mixamo za animiranje prilagođenih 3D modela

Kako koristiti Mixamo za animiranje prilagođenih 3D modela

Kako koristiti Mixamo za animiranje prilagođenih 3D modela Uz Mixamo možete jednostavno uvesti 3D model i na njega primijeniti efekte animacije. U nastavku su upute za uporabu