Kako ustvariti in vstaviti oblike v PowerPoint z VBA?

Pred nekaj dnevi sem želel avtomatizirati precej vsakdanje opravilo ustvarjanja nekaterih PowerPointovih diapozitivov. Pri avtomatizaciji PowerPointa običajno delate z zbirko Diapozitivi in ​​oblike. Diapozitivi so precej samoumevni, oblike pa so skoraj vse ostalo, vključno z besedilnimi polji, akcijskimi gumbi, medijskimi predmeti, oznakami, slikami, oblački, diagrami poteka in tako naprej in tako naprej. Čeprav bom predstavil tehnike s PowerPointom, je nekaj sintakse dejansko precej uporabno za Microsoft Word in Excel.

Če povzamem, preden začnete z razvojem makrov VBA v PowerPointu, morate omogočiti zavihek za razvoj .

Najprej začnimo s samodejnim ustvarjanjem predstavitve z nekaj diapozitivi, kot je prikazano v tej vadnici: ustvarjanje predstavitve v VBA .

Zdaj lahko začnemo delati z oblikami. Najprej pojdimo naprej in odprimo urejevalnik VBA tako, da pritisnemo Alt + F11. Če ste sledili prejšnji vadnici, bi morali imeti modul 1 na seznamu modulov (kot je prikazano spodaj)

Delo z oblikami z VBA

Dodajanje polja z besedilom z VBA

Začeli bomo z dodajanjem navpičnega besedilnega polja našemu prvemu diapozitivu v predstavitvi. Dodajte naslednjo kodo v Module1, nato nadaljujte in pritisnite gumb Shrani (Ctrl+s) in Zaženi svoj makro (pritisnite F5 ali pritisnite Zaženi pod/uporabniški obrazec).

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

Upoštevajte, da lahko z VBA dokaj enostavno spremenite velikost svojega besedilnega polja. V tem primeru bomo spremenili velikost prve oblike na drugem diapozitivu, ki jo lahko po potrebi spremenite.

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

Besedilni učinki z VBA

Predpostavimo zdaj, da želimo vsem diapozitivom v predstavitvi dodati polje z besedilom, tokrat nekoliko bolj vizualno privlačno. Za to bomo uporabili VBA za ustvarjanje besedilnih učinkov po meri, ki jih lahko vdelamo v enega ali več diapozitivov v predstavitvi. Najprej bomo pregledali predstavitvene diapozitive in nato po potrebi dodali besedilni učinek.

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

Tukaj je rezultat ;-):

Kako ustvariti in vstaviti oblike v PowerPoint z VBA?

Upoštevajte, da lahko za dosego tega specifičnega rezultata uporabite tudi preprost vodni žig.

PowerPointovi oblački z VBA

Naš naslednji primer bo dodajanje oblačkov v vašo predstavitev. V tem primeru bomo drugemu diapozitivu dodali oblaček.

Sub CreateCallout()

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

End Sub

Nastavitev lastnosti za obliko

Veliko lastnosti oblikovanja oblik ni nastavljenih z lastnostmi, ki veljajo neposredno za  objekt Shape  ali  ShapeRange  . Namesto tega so povezani atributi oblike združeni pod sekundarne objekte, kot je  objekt FillFormat  , ki vsebuje vse lastnosti, ki se nanašajo na polnilo oblike, ali objekt  LinkFormat  , ki vsebuje vse lastnosti, ki so edinstvene za povezane objekte OLE. Če želite nastaviti lastnosti za obliko, morate najprej vrniti predmet, ki predstavlja niz povezanih atributov oblike, nato pa nastaviti lastnosti tega vrnjenega predmeta. Uporabite na primer  lastnost Fill ,  da vrnete  predmet FillFormat  , nato pa nastavite   lastnost  ForeColor predmeta FillFormat  , da nastavite barvo ospredja polnila za navedeno obliko, kot je prikazano v naslednjem primeru.

VB

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

Uporaba lastnosti ali metode za več oblik hkrati

V uporabniškem vmesniku je nekaj operacij, ki jih lahko izvajate z več izbranimi oblikami; na primer, izberete lahko več oblik in nastavite vsa njihova posamezna polnila hkrati. Obstajajo še druge operacije, ki jih lahko izvedete samo z eno izbrano obliko; besedilo v obliki lahko na primer urejate le, če je izbrana ena oblika.

V Visual Basicu obstajata dva načina za uporabo lastnosti in metod za niz oblik. Ta dva načina vam omogočata, da izvedete katero koli operacijo, ki jo lahko izvedete na eni sami obliki, na nizu oblik, ne glede na to, ali lahko isto operacijo izvedete v uporabniškem vmesniku ali ne.

  • Če operacija deluje na več izbranih oblikah v uporabniškem vmesniku, lahko izvedete isto operacijo v Visual Basicu tako, da sestavite  zbirko ShapeRange  , ki vsebuje oblike, s katerimi želite delati, in uporabite ustrezne lastnosti in metode neposredno v zbirki  ShapeRange  .

  • Če operacija ne deluje na več izbranih oblikah v uporabniškem vmesniku, lahko še vedno izvedete operacijo v Visual Basicu tako, da se pomikate po zbirki  Shapes  ali po  zbirki ShapeRange  , ki vsebuje oblike, s katerimi želite delati, in uporabite ustrezne lastnosti in metode za posamezne  objekte Shape  v zbirki.

Številne lastnosti in metode, ki veljajo za  objekt Shape  in  zbirko ShapeRange  , ne uspejo, če se uporabijo za določene vrste oblik. Na primer,  lastnost TextFrame  ne uspe, če je uporabljena za obliko, ki ne more vsebovati besedila. Če niste prepričani, da je za vsako obliko v  zbirki ShapeRange  lahko uporabljena določena lastnost ali metoda, ne uporabite lastnosti ali metode za  zbirko ShapeRange  . Če želite uporabiti eno od teh lastnosti ali metod za zbirko oblik, se morate pomikati po zbirki in preizkusiti vsako posamezno obliko, da se prepričate, da je ustrezna vrsta oblike, preden zanjo uporabite lastnost ali metodo.

Uporaba lastnosti ali metode v zbirki ShapeRange

Če lahko izvedete operacijo na več izbranih oblikah v uporabniškem vmesniku hkrati, lahko naredite programski ekvivalent tako, da sestavite  zbirko ShapeRange  in nato zanjo uporabite ustrezne lastnosti ali metode. Naslednji primer izdela obseg oblik, ki vsebuje samooblike z imenom »Velika zvezda« in »Mala zvezda« in jima uporabi gradientno polnilo ter jima uporabi gradientno polnilo.myDocument

VB

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

Sledijo splošne smernice za obnašanje lastnosti in metod, ko so uporabljene v  zbirki ShapeRange  .

  • Uporaba metode za zbirko je enakovredna uporabi metode za vsak posamezen  objekt Shape  v tej zbirki.

  • Nastavitev vrednosti lastnosti zbirke je enakovredna nastavitvi vrednosti lastnosti vsake posamezne oblike v tem obsegu.

  • Lastnost zbirke, ki vrne konstanto, vrne vrednost lastnosti za posamezno obliko v zbirki, če imajo vse oblike v zbirki enako vrednost za to lastnost. Če nimajo vse oblike v zbirki enake vrednosti za lastnost, vrne "mešano" konstanto.

  • Lastnost zbirke, ki vrne preprost podatkovni tip (kot je  LongSingle ali  String ), vrne vrednost lastnosti za posamezno obliko, če imajo vse oblike v zbirki enako vrednost za to lastnost.

  • Vrednost nekaterih lastnosti je mogoče vrniti ali nastaviti le, če je v zbirki natanko ena oblika. Če je v zbirki več kot ena oblika, pride do napake med izvajanjem. To običajno velja za vračanje ali nastavitev lastnosti, ko je enakovredno dejanje v uporabniškem vmesniku možno le z eno samo obliko (dejanja, kot je urejanje besedila v obliki ali urejanje točk proste oblike).

Prejšnje smernice veljajo tudi, ko nastavljate lastnosti oblik, ki so združene pod sekundarne objekte zbirke  ShapeRange  , kot je  predmet FillFormat  . Če sekundarni objekt predstavlja operacije, ki jih je mogoče izvesti na več izbranih predmetih v uporabniškem vmesniku, boste lahko vrnili predmet iz zbirke  ShapeRange  in nastavili njegove lastnosti. Z lastnostjo Fill lahko na primer vrnete   predmet  FillFormat  , ki predstavlja polnila vseh oblik v  zbirki ShapeRange  . Če nastavite lastnosti tega  predmeta FillFormat  , boste nastavili enake lastnosti za vse posamezne oblike v  zbirki ShapeRange  .

Skozi zbirko Shapes ali ShapeRange

Tudi če ne morete izvesti operacije na več oblikah v uporabniškem vmesniku hkrati, tako da jih izberete in nato uporabite ukaz, lahko enakovredno dejanje izvedete programsko tako, da se pomikate po zbirki  Shapes  ali po  zbirki ShapeRange  , ki vsebuje oblike, ki jih želite delati, in uporabite ustrezne lastnosti in metode za posamezne  objekte Shape  v zbirki. Naslednji primer preleti vse oblike in vsaki obliki, ki je samooblika, doda besedilo. in doda besedilo vsaki obliki, ki je samooblika.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

Naslednji primer sestavi  zbirko ShapeRange  , ki vsebuje vse trenutno izbrane oblike v aktivnem oknu, in nastavi besedilo v vsaki obliki v zbirki, ki lahko vsebuje besedilo.

VB

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

Poravnava, porazdelitev in združevanje oblik v obsegu oblik

Uporabite  metode Poravnaj  in  Porazdeli  , da nabor oblik postavite relativno eno glede na drugo ali glede na dokument, ki jih vsebuje. Uporabite  metodo Združi  ali  Ponovno združite  , da oblikujete eno samo združeno obliko iz niza oblik.


Navodila za poslušanje glasbe na Google Zemljevidih

Navodila za poslušanje glasbe na Google Zemljevidih

Navodila za poslušanje glasbe na Google Zemljevidih ​​Trenutno lahko uporabniki potujejo in poslušajo glasbo z aplikacijo Google Zemljevid na iPhoneu. Danes vas vabi WebTech360

Navodila za uporabo LifeBOX - Viettelove spletne storitve za shranjevanje

Navodila za uporabo LifeBOX - Viettelove spletne storitve za shranjevanje

Navodila za uporabo LifeBOX - Viettelova spletna storitev za shranjevanje, LifeBOX je na novo uvedena spletna storitev za shranjevanje podjetja Viettel s številnimi vrhunskimi funkcijami

Kako posodobiti status na Facebook Messengerju

Kako posodobiti status na Facebook Messengerju

Kako posodobiti status v Facebook Messengerju? Facebook Messenger v najnovejši različici ponuja uporabnikom izjemno uporabno funkcijo: spreminjanje

Navodila za igro s kartami Werewolf Online na računalniku

Navodila za igro s kartami Werewolf Online na računalniku

Navodila za igro s kartami Werewolf Online na računalniku, Navodila za prenos, namestitev in igranje Werewolf Online na računalnik preko izjemno preprostega LDPlayer emulatorja.

Navodila za brisanje zgodb, objavljenih na Instagramu

Navodila za brisanje zgodb, objavljenih na Instagramu

Navodila za brisanje zgodb, objavljenih na Instagramu. Če želite izbrisati zgodbo na Instagramu, pa ne veste, kako? Danes WebTech360

Navodila za dodajanje predstavljenih fotografij na Facebook

Navodila za dodajanje predstavljenih fotografij na Facebook

Navodila za dodajanje predstavljenih slik na Facebook. Trenutno nam Facebook omogoča, da na svojih osebnih straneh nastavimo predstavljene slike. Tukaj vas vabimo

Kako odpraviti napako Windows Quick Assist ne deluje

Kako odpraviti napako Windows Quick Assist ne deluje

Kako odpraviti napako Windows Quick Assist ne deluje, Windows Quick Assist vam pomaga enostavno vzpostaviti povezavo z oddaljenim računalnikom. Vendar pa včasih povzroči tudi napake. ampak,

Navodila za vklop/izklop mešanja skladb na Spotifyju

Navodila za vklop/izklop mešanja skladb na Spotifyju

Navodila za vklop/izklop mešanja pesmi na Spotifyju, da ljudem pomagate hitro spremeniti vrstni red skladb na zgornjem seznamu predvajanja glasbe

Navodila za skrivno snemanje zvoka na iPhone

Navodila za skrivno snemanje zvoka na iPhone

Navodila za skrivno snemanje na iPhone, Trenutno lahko uporabniki iPhone snemajo na skrivaj tako, da se dotaknejo hrbtne strani telefona. Danes vas vabi WebTech360

Kako uporabiti Mixamo za animiranje 3D modelov po meri

Kako uporabiti Mixamo za animiranje 3D modelov po meri

Kako uporabljati Mixamo za animiranje modelov 3D po meri Z Mixamo lahko preprosto uvozite 3D model in nanj uporabite animacijske učinke. Spodaj so navodila za uporabo