Hvernig á að búa til og setja inn form í PowerPoint með VBA?

Fyrir nokkrum dögum síðan, langaði mig að gera það frekar hversdagslega verkefni að búa til PowerPoint skyggnur sjálfvirkt. Þegar þú gerir PowerPoint sjálfvirkan vinnurðu venjulega með Slides and Shapes safnið. Skyggnur skýra sig frekar sjálfar og form eru nokkurn veginn allt annað, þar á meðal textareiti, aðgerðarhnappar, miðlunarhlutir, merkimiða, myndir, útkall, flæðirit og svo framvegis og svo framvegis. Þó að ég muni sýna tæknina með PowerPoint, þá á sumt af setningafræðinni í raun nokkuð vel við Microsoft Word og Excel.

Bara til að rifja upp, áður en þú byrjar með VBA macro þróun í PowerPoint þarftu að hafa þróunarflipann þinn virkan .

Í fyrsta lagi skulum við byrja á því að búa til kynningu sjálfkrafa með nokkrum glærum eins og sýnt er í þessari kennslu: búa til kynningu í VBA .

Nú getum við byrjað að vinna með form. Í fyrsta lagi skulum við halda áfram og opna VBA ritstjórann með því að ýta á Alt+ F11. Ef þú fylgdir fyrri kennslunni ættirðu að hafa mát 1 á einingarlistanum þínum (eins og sýnt er hér að neðan)

Vinna með form með VBA

Bætir við textareit með VBA

Við byrjum á því að bæta lóðréttum textareit við fyrstu glæruna okkar í kynningunni. Bættu eftirfarandi kóða við Module1, farðu síðan á undan og ýttu á Vista hnappinn (Ctrl+s) og keyrðu makróið þitt (smelltu á F5 eða ýttu á Run Sub/User Form).

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

Athugaðu að þú getur breytt stærð textareitsins frekar auðveldlega með VBA. Í þessu tilfelli munum við breyta stærð fyrsta formsins í annarri skyggnunni, ekki hika við að breyta eftir þörfum.

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

Textaáhrif með VBA

Við skulum nú gera ráð fyrir að við viljum bæta textareit við allar glærur í kynningunni, að þessu sinni aðeins meira sjónrænt aðlaðandi. Til að gera það munum við nota VBA til að búa til sérsniðin textaáhrif sem við getum fellt inn í eina eða fleiri skyggnur í kynningunni. Við förum fyrst í gegnum kynningarglærurnar og bætum síðan við textaáhrifum eftir þörfum.

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

Hér er niðurstaðan ;-):

Hvernig á að búa til og setja inn form í PowerPoint með VBA?

Athugaðu að þú gætir eins notað einfalt vatnsmerki til að ná þessari tilteknu niðurstöðu.

PowerPoint útkall með VBA

Næsta dæmi okkar mun vera að bæta viðmælingum við kynninguna þína. Í þessu dæmi munum við bæta við útkalli við seinni skyggnuna.

Sub CreateCallout()

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

End Sub

Stilla eiginleika fyrir form

Margir snið eiginleikar forma eru ekki stilltir af eiginleikum sem eiga beint við  Shape  eða  ShapeRange  hlutinn. Þess í stað eru tengdir formeiginleikar flokkaðir undir aukahluti, eins og  FillFormat  hlutinn, sem inniheldur alla eiginleika sem tengjast fyllingu formsins, eða  LinkFormat  hluturinn, sem inniheldur alla eiginleika sem eru einstakir fyrir tengda OLE hluti. Til að stilla eiginleika fyrir lögun, verður þú fyrst að skila hlutnum sem táknar mengið skyldra formeiginleika og síðan stilla eiginleika þess hluts sem skilað er. Til dæmis notarðu  Fill  eiginleikann til að skila  FillFormat  hlutnum og síðan stillirðu  ForeColor  eiginleika  FillFormat  hlutarins til að stilla fyllingarforgrunnslitinn fyrir tilgreinda lögun, eins og sýnt er í eftirfarandi dæmi.

VB

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

Að beita eign eða aðferð á nokkur form á sama tíma

Í notendaviðmótinu eru nokkrar aðgerðir sem þú getur framkvæmt með nokkrum formum valin; til dæmis geturðu valið nokkur form og stillt allar einstakar fyllingar þeirra í einu. Það eru aðrar aðgerðir sem þú getur aðeins framkvæmt með valinni einni lögun; til dæmis er aðeins hægt að breyta textanum í form ef eitt form er valið.

Í Visual Basic eru tvær leiðir til að beita eiginleikum og aðferðum á sett af formum. Þessar tvær leiðir leyfa þér að framkvæma hvaða aðgerð sem þú getur framkvæmt á einni lögun á ýmsum formum, hvort sem þú getur framkvæmt sömu aðgerð í notendaviðmótinu eða ekki.

  • Ef aðgerðin virkar á mörgum völdum formum í notendaviðmótinu er hægt að framkvæma sömu aðgerðina í Visual Basic með því að smíða  ShapeRange  safn sem inniheldur form sem þú vilt vinna með og beita viðeigandi eiginleikum og aðferðum beint á  ShapeRange  safnið.

  • Ef aðgerðin virkar ekki á mörgum völdum formum í notendaviðmótinu geturðu samt framkvæmt aðgerðina í Visual Basic með því að fara í gegnum  Shapes  safnið eða í gegnum  ShapeRange  safn sem inniheldur form sem þú vilt vinna með og nota viðeigandi eiginleika og aðferðir við einstaka  Shape  hluti í safninu.

Margir eiginleikar og aðferðir sem eiga við  Shape  hlutinn og  ShapeRange  safnið mistakast ef þær eru notaðar á ákveðnar tegundir af formum. Til dæmis  mistekst TextFrame  eignin ef hún er notuð á form sem getur ekki innihaldið texta. Ef þú ert ekki viss um að hvert form í  ShapeRange  safni geti haft ákveðna eiginleika eða aðferð notaða á það, ekki nota eiginleikann eða aðferðina á  ShapeRange  safnið. Ef þú vilt beita einum af þessum eiginleikum eða aðferðum á safn af formum, verður þú að fara í gegnum safnið og prófa hvert einstakt form til að ganga úr skugga um að það sé viðeigandi tegund af lögun áður en eiginleikanum eða aðferðinni er beitt á það.

Að beita eign eða aðferð á ShapeRange safn

Ef þú getur framkvæmt aðgerð á mörgum völdum formum í notendaviðmótinu á sama tíma geturðu gert forritunarsamsvarið með því að smíða  ShapeRange  safn og síðan beita viðeigandi eiginleikum eða aðferðum á það. Eftirfarandi dæmi smíðar formsvið sem inniheldur sjálfvirk form sem heita "Stóra stjarnan" og "Litla stjarnan" á og beitir hallafyllingu á þau og beitir hallafyllingu á þau.myDocument

VB

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

Eftirfarandi eru almennar leiðbeiningar um hvernig eiginleikar og aðferðir hegða sér þegar þeim er beitt á  ShapeRange  safn.

  • Að beita aðferð á safnið jafngildir því að beita aðferðinni á hvern einstakan  Shape  hlut í því safni.

  • Að stilla verðmæti eignar í safninu jafngildir því að stilla gildi eignar hvers einstaks forms á því sviði.

  • Eiginleiki safnsins sem skilar fasta skilar verðmæti eignarinnar fyrir einstaka form í safninu ef öll form safnsins hafa sama gildi fyrir þá eign. Ef ekki öll form í safninu hafa sama gildi fyrir eignina skilar það „blanduðum“ fastanum.

  • Eiginleiki safnsins sem skilar einfaldri gagnagerð (eins og  LongSingle , eða  String ) skilar gildi eignarinnar fyrir einstaka lögun ef öll form í safninu hafa sama gildi fyrir þá eiginleika.

  • Gildi sumra eigna er aðeins hægt að skila eða stilla ef það er nákvæmlega eitt form í safninu. Ef það eru fleiri en ein lögun í safninu kemur upp keyrsluvilla. Þetta á almennt við um að skila eða stilla eiginleika þegar samsvarandi aðgerð í notendaviðmótinu er aðeins möguleg með einni lögun (aðgerðir eins og að breyta texta í formi eða breyta punktum frjálsrar myndar).

Undanfarandi leiðbeiningar eiga einnig við þegar verið er að stilla eiginleika forma sem eru flokkuð undir aukahluti ShapeRange safnsins  ,  eins og  FillFormat  hlutinn. Ef aukahluturinn táknar aðgerðir sem hægt er að framkvæma á mörgum völdum hlutum í notendaviðmótinu, muntu geta skilað hlutnum úr  ShapeRange  safni og stillt eiginleika hans. Til dæmis er hægt að nota  Fill  eiginleikann til að skila  FillFormat  hlutnum sem táknar fyllingar allra formanna í  ShapeRange  safninu. Með því að stilla eiginleika þessa  FillFormat  hluts mun það setja sömu eiginleika fyrir öll einstök form í  ShapeRange  safninu.

Að fara í gegnum Shapes eða ShapeRange safn

Jafnvel þó að þú getir ekki framkvæmt aðgerð á nokkrum formum í notendaviðmótinu á sama tíma með því að velja þau og nota síðan skipun, geturðu framkvæmt samsvarandi aðgerð forritunarlega með því að fara í gegnum Shapes safnið  eða  í gegnum  ShapeRange  safn sem inniheldur formin sem þú vilja vinna með og beita viðeigandi eiginleikum og aðferðum á einstaka  Shape  hluti í safninu. Eftirfarandi dæmi fer í gegnum öll formin á og bætir texta við hvert form sem er AutoShape. og bætir texta við hvert form sem er 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

Eftirfarandi dæmi smíðar  ShapeRange  safn sem inniheldur öll þau form sem eru valin í virka glugganum og stillir textann í hvert form í safninu sem getur innihaldið texta.

VB

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

Samræma, dreifa og flokka form í formsviði

Notaðu  aðferðirnar Align  og  Distribute  til að staðsetja safn af formum miðað við hvert annað eða miðað við skjalið sem inniheldur þau. Notaðu  Group  aðferðina eða  Regroup  aðferðina til að mynda eitt flokkað form úr safni af formum.

Skildu eftir athugasemd

Hvernig á að laga villuna þar sem Outlook getur ekki sent tölvupóst en tekur við

Hvernig á að laga villuna þar sem Outlook getur ekki sent tölvupóst en tekur við

Lagaðu Outlook þegar þú getur tekið við tölvupósti en ekki sent. Athugaðu Úthreitt, ónettengingu, innskráningu, SMTP-stillingar, notendasnið og breytingar í Microsoft 365.

Einfalt tvívítt launareikninga-fylgist með Excel sniðmát fyrir litla teymi: Handbók í uppsetningu

Einfalt tvívítt launareikninga-fylgist með Excel sniðmát fyrir litla teymi: Handbók í uppsetningu

Búðu til einfalt tvívítt launareikninga-fylgist með í Excel fyrir lítið teymi, með klukkustundum, launum, frádráttum, endurskoðunarvörnum, yfirlitum og leiðbeiningum um skjalasöfnun.

Einfalt þjálfunarkynningarsniðmát fyrir nýja starfsmenn: 12 glæra hagnýtt grunnuppbygging

Einfalt þjálfunarkynningarsniðmát fyrir nýja starfsmenn: 12 glæra hagnýtt grunnuppbygging

Búðu til einfalda kynningu fyrir nýja starfsmenn með hagnýtri 12 glæra uppbyggingu sem fjallar um væntingar til starfs, verkfæri, öryggi, stefnur, öryggi og aðgerðir fyrstu viku.

Hvernig á að flytja Salesforce tengiliði yfir í hreint Excel-snið án þess að skemma auðkenni eða símanúmer

Hvernig á að flytja Salesforce tengiliði yfir í hreint Excel-snið án þess að skemma auðkenni eða símanúmer

Flyttu Salesforce tengiliði hreinlega yfir í Excel: búðu til rétta skýrslu, flyttu út Details Only CSV, flyttu inn með Power Query, varðveittu auðkenni og núll á undan, fjarlægðu tvítekið örugglega og staðfestu niðurstöðuna.

Prentanlegt vikulegt þrifatíðni sniðmát fyrir Airbnb gestgjafa (Word og PDF)

Prentanlegt vikulegt þrifatíðni sniðmát fyrir Airbnb gestgjafa (Word og PDF)

Notaðu þetta prentanlega vikulega þrifatíðni fyrir Airbnb gestgjafa til að skipuleggja skiptithrif, djúpþrif, áfyllingu, öryggisathuganir og prentun frá Word í PDF.

Ókeypis mánaðarlegur reikningadagbókar sniðmát fyrir Excel: Hagnýtt uppsetning fyrir 2026

Ókeypis mánaðarlegur reikningadagbókar sniðmát fyrir Excel: Hagnýtt uppsetning fyrir 2026

Skipulagðu mánaðarlega reikninga í Excel með ókeypis dagbókarútliti, eftirlits með skiladögum, stöðufallformúlum, sjálfvirkum greiðslusvæðum og hagnýtum ráðum um fjármagnsflæði.

Excel-formla reiknast ekki sjálfkrafa? Lagaðu það á 3 einföldum skrefum

Excel-formla reiknast ekki sjálfkrafa? Lagaðu það á 3 einföldum skrefum

Lagaðu Excel-formlur sem reiknast ekki sjálfkrafa í þremur skrefum: virkjaðu Sjálfvirka útreikninga, endurreiknaðu og lagaðu formlufrumurnar.

Sniðmát fyrir útgjaldaskráningu sjálfstætt starfandi í Bandaríkjunum: Hvað á að skrá árið 2026

Sniðmát fyrir útgjaldaskráningu sjálfstætt starfandi í Bandaríkjunum: Hvað á að skrá árið 2026

Búðu til hagnýtt útgjaldakerfi fyrir bandaríska frilansara með flokkum sem passa við Schedule C, kvittunareitum, vegalengdaskráningu og uppfærslum í IRS-reglum fyrir 2026.

Bestu ókeypis reikningsforritin fyrir litla þjónustufyrirtæki í Bandaríkjunum (2026)

Bestu ókeypis reikningsforritin fyrir litla þjónustufyrirtæki í Bandaríkjunum (2026)

Berðu saman bestu ókeypis reikningsforritin fyrir þjónustufyrirtæki í Bandaríkjunum árið 2026, þar á meðal Zoho Invoice, Wave, Square, PayPal og Invoice Ninja.

Ókeypis Excel-sniðmát fyrir rekstrar- og tekjufylgni í leigueignum: Byrjendahandbók

Ókeypis Excel-sniðmát fyrir rekstrar- og tekjufylgni í leigueignum: Byrjendahandbók

Notið ókeypis Excel-fylgni fyrir leigueignir til að skipuleggja tekjur, útgjöld, eignir og mánaðarlega fjármagnsflæði. Lærið hvað á að skrá, hvernig á að setja upp kerfið og hvaða mistök á að forðast.