Kuinka luoda ja lisätä muotoja PowerPointiin VBA:lla?

Pari päivää sitten halusin automatisoida melko arkipäiväisen tehtävän luoda PowerPoint-dioja. Kun automatisoit PowerPointia, työskentelet yleensä Slides and Shapes -kokoelman kanssa. Slides on melko itsestään selvä, ja muodot ovat melkein kaikkea muuta, mukaan lukien tekstilaatikot, toimintapainikkeet, mediaobjektit, tarrat, kuvat, huomiotekstit, vuokaaviot ja niin edelleen ja niin edelleen. Vaikka aion esitellä tekniikat PowerPointilla, osa syntaksista on itse asiassa melko sovellettavissa Microsoft Wordiin ja Exceliin.

Kertauksena totean, että ennen kuin aloitat VBA-makrokehityksen PowerPointissa, sinun on otettava kehitysvälilehti käyttöön .

Aloitetaan luomalla automaattisesti esitys joissakin dioissa, kuten tässä opetusohjelmassa näytetään: esityksen luominen VBA :ssa .

Nyt voimme alkaa työskennellä Shapesin kanssa. Ensinnäkin, mennään eteenpäin ja avataan VBA-editori painamalla Alt+ F11. Jos noudatit edellistä opetusohjelmaa, moduulin 1 pitäisi olla moduuliluettelossasi (kuten alla näkyy)

Työskentely muotojen kanssa VBA:lla

Tekstilaatikon lisääminen VBA:lla

Aloitamme lisäämällä pystysuoran tekstikentän esityksen ensimmäiseen diaan. Lisää seuraava koodi Module1:een, siirry sitten eteenpäin ja paina Tallenna-painiketta (Ctrl+s) ja Suorita makro (paina F5 tai paina Suorita ali-/käyttäjälomake).

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

Huomaa, että voit muuttaa tekstilaatikon kokoa melko helposti VBA: lla. Tässä tapauksessa muutamme ensimmäisen muodon kokoa toisessa diassa, voit muokata sitä tarvittaessa.

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

Tekstitehosteet VBA:lla

Oletetaan nyt, että haluamme lisätä tekstilaatikon kaikkiin esityksen dioihin, tällä kertaa hieman visuaalisesti houkuttelevammin. Tätä varten luomme VBA:n avulla mukautettuja tekstitehosteita, jotka voimme upottaa esityksen yhteen tai useampaan diaan. Käymme ensin läpi esitysdiat ja lisäämme sitten tekstitehosteen tarpeen mukaan.

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

Tässä tulos ;-):

Kuinka luoda ja lisätä muotoja PowerPointiin VBA:lla?

Huomaa, että voit yhtä hyvin käyttää yksinkertaista vesileimaa saavuttaaksesi tämän tietyn tuloksen.

PowerPoint-huomiotekstit VBA:lla

Seuraava esimerkkimme on huomiotekstien lisääminen esitykseen. Tässä esimerkissä lisäämme huomiotekstin toiseen diaan.

Sub CreateCallout()

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

End Sub

Muodon ominaisuuksien asettaminen

Monia muotojen muotoiluominaisuuksia ei määritetä ominaisuuksilla, jotka koskevat suoraan  Shape-  tai  ShapeRange  -objektia. Sen sijaan liittyvät muotoattribuutit ryhmitellään toissijaisiin objekteihin, kuten  FillFormat-  objektiin, joka sisältää kaikki muodon täyttöön liittyvät ominaisuudet, tai  LinkFormat  -objektiin, joka sisältää kaikki linkitetyille OLE-objekteille ainutlaatuiset ominaisuudet. Jos haluat määrittää muodon ominaisuudet, sinun on ensin palautettava objekti, joka edustaa toisiinsa liittyvien muotomääritteiden joukkoa, ja asetettava sitten palautetun objektin ominaisuudet. Käytät esimerkiksi  Fill-  ominaisuutta palauttamaan  FillFormat-  objektin ja asetat sitten  FillFormat- objektin ForeColor-  ominaisuuden   määrittämään täyttöetualan värin määritetylle muodolle seuraavan esimerkin mukaisesti.

VB

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

Ominaisuuden tai menetelmän soveltaminen useisiin muotoihin samanaikaisesti

Käyttöliittymässä on joitain toimintoja, joita voit suorittaa useilla valituilla muodoilla; Voit esimerkiksi valita useita muotoja ja määrittää niiden kaikki yksittäiset täytteet kerralla. On muitakin toimintoja, joita voit suorittaa vain yhdellä valitulla muodolla; Voit esimerkiksi muokata muodon tekstiä vain, jos yksi muoto on valittuna.

Visual Basicissa on kaksi tapaa soveltaa ominaisuuksia ja menetelmiä joukkoon muotoja. Näillä kahdella tavalla voit suorittaa minkä tahansa toiminnon, jonka voit suorittaa yhdelle muodolle useille muodoille, riippumatta siitä, voitko suorittaa saman toiminnon käyttöliittymässä vai et.

  • Jos toiminto toimii useille valituille muodoille käyttöliittymässä, voit suorittaa saman toiminnon Visual Basicissa rakentamalla  ShapeRange-  kokoelman, joka sisältää muodot, joita haluat työstää, ja ottamalla asianmukaiset ominaisuudet ja menetelmät suoraan ShapeRange-  kokoelmaan  .

  • Jos toiminto ei toimi useille valituille muodoille käyttöliittymässä, voit silti suorittaa toiminnon Visual Basicissa selaamalla läpi Shape-  kokoelman  tai  ShapeRange-  kokoelman, joka sisältää muodot, joita haluat työstää, ja käyttämällä asianmukaisia ​​ominaisuuksia. ja menetelmät  kokoelman yksittäisiin  Shape- objekteihin.

Monet Shape-  objektia ja  ShapeRange- kokoelmaa koskevat ominaisuudet ja menetelmät   epäonnistuvat, jos niitä käytetään tietyntyyppisiin muotoihin. Esimerkiksi  TextFrame  -ominaisuus epäonnistuu, jos sitä käytetään muotoon, joka ei voi sisältää tekstiä. Jos et ole varma, että jokaiseen  ShapeRange-  kokoelman muotoon voidaan soveltaa tiettyä ominaisuutta tai menetelmää, älä käytä ominaisuutta tai menetelmää ShapeRange-  kokoelmassa  . Jos haluat käyttää jotakin näistä ominaisuuksista tai menetelmistä muotokokoelmassa, sinun on selattava kokoelmaa ja testattava jokainen yksittäinen muoto varmistaaksesi, että se on sopiva muoto, ennen kuin käytät ominaisuutta tai menetelmää siihen.

Ominaisuuden tai menetelmän käyttäminen ShapeRange-kokoelmaan

Jos voit suorittaa toiminnon useille valituille muodoille käyttöliittymässä samanaikaisesti, voit tehdä ohjelmallisen vastineen rakentamalla  ShapeRange-  kokoelman ja soveltamalla siihen sopivia ominaisuuksia tai menetelmiä. Seuraava esimerkki muodostaa muotoalueen, joka sisältää "Big Star"- ja "Little Star"-nimiset automaattiset muodot, ja lisää niihin gradienttitäytön ja liukuväritäytön.myDocument

VB

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

Seuraavat ovat yleisiä ohjeita ominaisuuksien ja menetelmien käyttäytymisestä, kun niitä sovelletaan  ShapeRange-  kokoelmaan.

  • Metodin käyttäminen kokoelmaan vastaa menetelmän käyttämistä jokaiseen yksittäiseen  Shape-  objektiin kokoelmassa.

  • Kokoelman ominaisuuden arvon asettaminen vastaa kunkin yksittäisen muodon ominaisuuden arvon asettamista kyseisellä alueella.

  • Kokoelman ominaisuus, joka palauttaa vakion, palauttaa ominaisuuden arvon kokoelman yksittäiselle muodolle, jos kaikilla kokoelman muodoilla on sama arvo kyseiselle ominaisuudelle. Jos kaikilla kokoelman muodoilla ei ole samaa arvoa ominaisuudelle, se palauttaa "sekoitetun" vakion.

  • Kokoelman ominaisuus, joka palauttaa yksinkertaisen tietotyypin (kuten  LongSingle tai  String ), palauttaa ominaisuuden arvon yksittäiselle muodolle, jos kaikilla kokoelman muodoilla on sama arvo tälle ominaisuudelle.

  • Joidenkin ominaisuuksien arvo voidaan palauttaa tai asettaa vain, jos kokoelmassa on täsmälleen yksi muoto. Jos kokoelmassa on useampi kuin yksi muoto, tapahtuu ajonaikainen virhe. Tämä pätee yleensä ominaisuuksien palauttamiseen tai asettamiseen, kun vastaava toiminta käyttöliittymässä on mahdollista vain yhdellä muodolla (toiminnot, kuten tekstin muokkaaminen muodossa tai vapaan muodon pisteiden muokkaaminen).

Edelliset ohjeet pätevät myös, kun määrität muotojen ominaisuuksia, jotka on ryhmitelty  ShapeRange-  kokoelman toissijaisiin objekteihin, kuten  FillFormat  -objektiin. Jos toissijainen objekti edustaa toimintoja, jotka voidaan suorittaa useille valituille objekteille käyttöliittymässä, voit palauttaa objektin  ShapeRange-  kokoelmasta ja määrittää sen ominaisuudet. Voit esimerkiksi käyttää  Fill-  ominaisuutta palauttaaksesi  FillFormat- objektin, joka edustaa kaikkien ShapeRange-  kokoelman muotojen täyttöjä   . Tämän FillFormat- objektin ominaisuuksien asettaminen   asettaa samat ominaisuudet kaikille  ShapeRange-  kokoelman yksittäisille muodoille.

Shape- tai ShapeRange-kokoelman läpi kiertäminen

Vaikka et pystyisi suorittamaan toimintoa useille muodoille samanaikaisesti käyttöliittymässä valitsemalla ne ja sitten komennolla, voit suorittaa vastaavan toiminnon ohjelmallisesti selaamalla Muodot-  kokoelmaa  tai  ShapeRange  -kokoelmaa, joka sisältää haluamasi muodot. haluat työskennellä ja soveltaa sopivia ominaisuuksia ja menetelmiä   kokoelman yksittäisiin Shape- objekteihin. Seuraava esimerkki käy läpi kaikki muodot ja lisää tekstiä jokaiseen muotoon, joka on automaattinen muoto. ja lisää tekstiä jokaiseen muotoon, joka on automaattinen muoto.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

Seuraava esimerkki muodostaa  ShapeRange-  kokoelman, joka sisältää kaikki aktiivisessa ikkunassa valitut muodot ja asettaa tekstin jokaiseen kokoelman muotoon, joka voi sisältää tekstiä.

VB

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

Tasaa, jakaa ja ryhmitellä muotoja muotoalueella

Käytä  Tasaa  ja  jaa  -menetelmiä asettaaksesi joukko muotoja suhteessa toisiinsa tai suhteessa ne sisältävään asiakirjaan. Käytä  Ryhmittele-  tai  Ryhmittele uudelleen  -menetelmää muodostaaksesi yksittäisen ryhmitellyn muodon joukosta muotoja.

Leave a Comment

Xbox 360 -emulaattorit Windows PC:lle asennetaan vuonna 2022 – [10 PARHAAT POINTA]

Xbox 360 -emulaattorit Windows PC:lle asennetaan vuonna 2022 – [10 PARHAAT POINTA]

Tässä artikkelissa on luettelo 10 parhaasta Xbox 360 -emulaattorista Windows PC:lle. Opit, miten voit nauttia Xbox 360 -peleistä helposti Windows 10 -tietokoneella.

[100 % ratkaistu] Kuinka korjata Error Printing -viesti Windows 10:ssä?

[100 % ratkaistu] Kuinka korjata Error Printing -viesti Windows 10:ssä?

Tulostusvirheviestin vastaanottaminen Windows 10 -järjestelmässäsi ja noudata sitten artikkelissa annettuja korjauksia ja saat tulostimesi oikeilleen…

Microsoft Teams -tallenteen tallentaminen ja toistaminen

Microsoft Teams -tallenteen tallentaminen ja toistaminen

Voit palata kokouksiin helposti, jos tallennat ne. Näin voit tallentaa ja toistaa Microsoft Teams -tallenteen seuraavaa kokousta varten.

Kuinka palauttaa oletussovellukset Androidissa

Kuinka palauttaa oletussovellukset Androidissa

Kun avaat tiedoston tai napsautat linkkiä, Android-laitteesi valitsee oletussovelluksen sen avaamiseksi. Voit palauttaa oletussovelluksesi Androidissa tämän oppaan avulla.

KORJAATTU: Entitlement.diagnostics.office.com-sertifikaattivirhe

KORJAATTU: Entitlement.diagnostics.office.com-sertifikaattivirhe

KORJAATTU: Entitlement.diagnostics.office.com-sertifikaattivirhe

10 parasta pelisivustoa, joita koulu ei estänyt vuonna 2022

10 parasta pelisivustoa, joita koulu ei estänyt vuonna 2022

Saadaksesi selville parhaat pelisivustot, joita koulut eivät ole estäneet, lue artikkeli ja valitse paras lukitsemattomien pelien verkkosivusto kouluille, korkeakouluille ja töille

KORJAATTU: Tulostin on virhetilassa [HP, Canon, Epson, Zebra & Brother]

KORJAATTU: Tulostin on virhetilassa [HP, Canon, Epson, Zebra & Brother]

Jos kohtaat tulostimen virhetilan ongelman Windows 10 -tietokoneessa etkä tiedä, kuinka käsitellä sitä, korjaa se seuraamalla näitä ratkaisuja.

Chromebookin varmuuskopiointi (2022)

Chromebookin varmuuskopiointi (2022)

Jos mietit, kuinka voit varmuuskopioida Chromebookisi, me autamme sinua. Lisätietoja siitä, mikä varmuuskopioidaan automaattisesti ja mitä ei ole täällä

Kuinka korjata Xbox-sovellus, joka ei avaudu Windows 10:ssä [PIKAOPAS]

Kuinka korjata Xbox-sovellus, joka ei avaudu Windows 10:ssä [PIKAOPAS]

Haluatko korjata Xbox-sovelluksen, joka ei avaudu Windows 10:ssä, ja seuraa korjauksia, kuten Ota Xbox-sovellus käyttöön Palveluista, nollaa Xbox-sovellus, Palauta Xbox-sovelluspaketti ja muut.

Mikä on LogiOptions.exe (UNICODE) ja onko prosessi turvallinen?

Mikä on LogiOptions.exe (UNICODE) ja onko prosessi turvallinen?

Jos sinulla on Logitechin näppäimistö ja hiiri, näet tämän prosessin käynnissä. Se ei ole haittaohjelma, mutta se ei ole välttämätön suoritettava tiedosto Windows-käyttöjärjestelmälle.