Kā izveidot un ievietot formas programmā PowerPoint, izmantojot VBA?

Pirms pāris dienām es gribēju automatizēt diezgan ikdienišķo uzdevumu izveidot dažus PowerPoint slaidus. Automatizējot programmu PowerPoint, jūs parasti strādājat ar kolekciju Slaidi un formas. Slaidi ir diezgan pašsaprotami, un formas ir gandrīz viss pārējais, tostarp tekstlodziņi, darbību pogas, multivides objekti, etiķetes, attēli, norādes, blokshēmas un tā tālāk, un tā tālāk. Lai gan es demonstrēšu paņēmienus, izmantojot PowerPoint, dažas sintakses faktiski ir diezgan piemērotas Microsoft Word un Excel.

Atgādinot, pirms sākat darbu ar VBA makro izstrādi programmā PowerPoint, jums ir jāiespējo izstrādes cilne .

Vispirms sāksim, automātiski izveidojot prezentāciju ar dažiem slaidiem, kā parādīts šajā apmācībā: prezentācijas izveide VBA .

Tagad mēs varam sākt strādāt ar Shapes. Vispirms atveriet VBA redaktoru, nospiežot Alt+F11. Ja sekojāt iepriekšējai apmācībai, moduļu sarakstā vajadzētu būt 1. modulim (kā parādīts tālāk).

Darbs ar formām ar VBA

Tekstlodziņa pievienošana ar VBA

Mēs sāksim, pievienojot vertikālu tekstlodziņu mūsu pirmajam prezentācijas slaidam. Pievienojiet šo kodu modulim 1, pēc tam dodieties uz priekšu un nospiediet pogu Saglabāt (Ctrl+s) un palaist makro (nospiediet F5 vai nospiediet Palaist apakš/lietotāja veidlapu).

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

Ņemiet vērā, ka, izmantojot VBA, jūs varat diezgan viegli mainīt teksta lodziņa izmērus. Šajā gadījumā mēs mainīsim pirmās formas izmērus otrajā slaidā, varat tos mainīt pēc vajadzības.

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

Teksta efekti ar VBA

Tagad pieņemsim, ka visiem prezentācijas slaidiem vēlamies pievienot teksta lodziņu, šoreiz nedaudz vizuāli pievilcīgāku. Lai to izdarītu, mēs izmantosim VBA, lai izveidotu pielāgotus teksta efektus, kurus varēsim iegult vienā vai vairākos prezentācijas slaidos. Vispirms apskatīsim prezentācijas slaidus un pēc tam pievienosim teksta efektu pēc vajadzības.

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

Lūk rezultāts ;-):

Kā izveidot un ievietot formas programmā PowerPoint, izmantojot VBA?

Ņemiet vērā, ka varat arī izmantot vienkāršu ūdenszīmi, lai sasniegtu šo konkrēto rezultātu.

PowerPoint norādes ar VBA

Nākamais piemērs būs norāžu pievienošana jūsu prezentācijai. Šajā piemērā otrajā slaidā pievienosim norādi.

Sub CreateCallout()

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

End Sub

Formas īpašību iestatīšana

Daudzus formu formatēšanas rekvizītus nenosaka rekvizīti, kas attiecas tieši uz  objektu Shape  vai  ShapeRange  . Tā vietā saistītie formas atribūti tiek grupēti zem sekundārajiem objektiem, piemēram,  objektā FillFormat  , kas satur visus rekvizītus, kas attiecas uz formas aizpildījumu, vai  LinkFormat  objektā, kurā ir visi saistītie OLE objektiem unikālie rekvizīti. Lai iestatītu formas rekvizītus, vispirms ir jāatgriež objekts, kas attēlo saistīto formas atribūtu kopu, un pēc tam jāiestata atgrieztā objekta rekvizīti. Piemēram, jūs izmantojat  rekvizītu Fill  , lai atgrieztu  FillFormat  objektu, un pēc tam iestatāt  objekta FillFormat  rekvizītu  ForeColor  , lai iestatītu aizpildījuma priekšplāna krāsu norādītajai formai, kā parādīts nākamajā piemērā.

VB

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

Īpašuma vai metodes pielietošana vairākām formām vienlaikus

Lietotāja saskarnē ir dažas darbības, kuras varat veikt, atlasot vairākas formas; piemēram, varat atlasīt vairākas formas un vienlaikus iestatīt visus to individuālos aizpildījumus. Ir arī citas darbības, kuras varat veikt, tikai atlasot vienu formu; piemēram, formas tekstu var rediģēt tikai tad, ja ir atlasīta viena forma.

Programmā Visual Basic ir divi veidi, kā lietot rekvizītus un metodes formu kopai. Šie divi veidi ļauj veikt jebkuru darbību, ko varat veikt vienai formai virknē formu neatkarīgi no tā, vai varat veikt vienu un to pašu darbību lietotāja interfeisā.

  • Ja operācija darbojas ar vairākām atlasītajām formām lietotāja saskarnē, varat veikt to pašu darbību programmā Visual Basic, izveidojot  ShapeRange  kolekciju, kurā ir ietvertas formas, ar kurām vēlaties strādāt, un piemērojot atbilstošos rekvizītus un metodes tieši  ShapeRange  kolekcijai.

  • Ja operācija nedarbojas ar vairākām lietotāja saskarnē atlasītajām formām, jūs joprojām varat veikt operāciju programmā Visual Basic, pārlūkojot kolekciju  Shapes  vai  ShapeRange  kolekciju, kas satur formas, ar kurām vēlaties strādāt, un piemērojot atbilstošos rekvizītus. un metodes atsevišķiem  Shape  objektiem kolekcijā.

Daudzi rekvizīti un metodes, kas attiecas uz  Shape  objektu un  ShapeRange  kolekciju, neizdodas, ja tiek lietotas noteikta veida formām. Piemēram,  rekvizīts TextFrame  neizdodas, ja tiek lietots formai, kas nevar saturēt tekstu. Ja neesat pārliecināts, ka katrai formai  ShapeRange  kolekcijā var būt lietots noteikts rekvizīts vai metode, nelietojiet šo rekvizītu vai metodi  ShapeRange  kolekcijai. Ja vēlaties lietot kādu no šīm īpašībām vai metodēm formu kolekcijai, jums ir jāpārskata kolekcija un jāpārbauda katra atsevišķa forma, lai pārliecinātos, ka tā ir piemērota veida forma, pirms lietojat tai īpašību vai metodi.

Īpašuma vai metodes lietošana ShapeRange kolekcijai

Ja vienlaikus varat veikt darbību ar vairākām atlasītajām formām lietotāja saskarnē, varat veikt programmatisko ekvivalentu, izveidojot  ShapeRange  kolekciju un pēc tam piemērojot tai atbilstošos rekvizītus vai metodes. Tālāk sniegtajā piemērā ir izveidots formu diapazons, kurā ir iekļautas automātiskās formas ar nosaukumu "Lielā zvaigzne" un "Mazā zvaigzne", un tām tiek lietots gradienta aizpildījums un tiek lietots gradienta aizpildījums.myDocument

VB

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

Tālāk ir sniegtas vispārīgas vadlīnijas par to, kā rekvizīti un metodes darbojas, kad tās tiek lietotas  ShapeRange  kolekcijai.

  • Metodes lietošana kolekcijai ir līdzvērtīga metodes lietošanai katram atsevišķam  Shape  objektam šajā kolekcijā.

  • Kolekcijas rekvizīta vērtības iestatīšana ir līdzvērtīga katras atsevišķas formas rekvizīta vērtības iestatīšanai šajā diapazonā.

  • Kolekcijas rekvizīts, kas atgriež konstanti, atgriež rekvizīta vērtību atsevišķai formai kolekcijā, ja visām kolekcijas formām ir vienāda šī īpašuma vērtība. Ja ne visām kolekcijas formām ir vienāda īpašuma vērtība, tā atgriež "jaukto" konstanti.

  • Kolekcijas rekvizīts, kas atgriež vienkāršu datu tipu (piemēram,  Long ,  Single vai  String ), atgriež rekvizīta vērtību atsevišķai formai, ja visām kolekcijas formām šim īpašumam ir vienāda vērtība.

  • Dažu rekvizītu vērtību var atgriezt vai iestatīt tikai tad, ja kolekcijā ir tieši viena forma. Ja kolekcijā ir vairāk nekā viena forma, rodas izpildlaika kļūda. Tas parasti attiecas uz rekvizītu atgriešanu vai iestatīšanu, kad līdzvērtīga darbība lietotāja saskarnē ir iespējama tikai ar vienu formu (tādas darbības kā teksta rediģēšana formā vai brīvas formas punktu rediģēšana).

Iepriekš minētās vadlīnijas ir spēkā arī tad, ja iestatāt formu rekvizītus, kas ir grupēti zem  ShapeRange  kolekcijas sekundārajiem objektiem, piemēram,  objektā FillFormat  . Ja sekundārais objekts apzīmē darbības, kuras lietotāja saskarnē var veikt ar vairākiem atlasītajiem objektiem, jūs varēsit atgriezt objektu no  ShapeRange  kolekcijas un iestatīt tā rekvizītus. Piemēram, varat izmantot  rekvizītu Fill  , lai atgrieztu  FillFormat objektu, kas attēlo visu ShapeRange kolekcijas  formu aizpildījumus   . Iestatot šī FillFormat objekta rekvizītus,   tiks iestatīti vienādi rekvizīti visām atsevišķajām formām  ShapeRange  kolekcijā.

Pārlūkojiet kolekciju Shapes vai ShapeRange

Pat ja lietotāja interfeisā nevar veikt darbību ar vairākām formām vienlaikus, atlasot tās un pēc tam izmantojot komandu, varat veikt līdzvērtīgu darbību programmatiski, pārlūkojot kolekciju Shapes  vai  ShapeRange  kolekciju  , kas satur jūsu formas. vēlaties strādāt ar un piemērot atbilstošās īpašības un metodes atsevišķiem  Shape  objektiem kolekcijā. Nākamajā piemērā tiek aplūkotas visas ieslēgtās formas un pievienots teksts katrai formai, kas ir automātiskā forma. un pievieno tekstu katrai formai, kas ir automātiskā forma.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

Nākamajā piemērā ir izveidota  ShapeRange  kolekcija, kurā ir visas pašlaik atlasītās formas aktīvajā logā, un tiek iestatīts teksts katrā kolekcijas formā, kurā var būt teksts.

VB

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

Formu līdzināšana, sadalīšana un grupēšana formu diapazonā

Izmantojiet  līdzināšanas  un  izplatīšanas  metodes, lai pozicionētu formu kopu attiecībā pret otru vai attiecībā pret dokumentu, kurā tās ir. Izmantojiet  grupu  metodi vai  pārgrupēšanas  metodi, lai no formu kopas izveidotu vienu grupētu formu.

Atstājiet komentāru

Bezpeļņas organizācijas gada pārskata PowerPoint veidne: bezmaksas lejupielādes iespējas un slaidu kontrolsaraksts

Bezpeļņas organizācijas gada pārskata PowerPoint veidne: bezmaksas lejupielādes iespējas un slaidu kontrolsaraksts

Izveidojiet skaidru bezpeļņas organizācijas gada pārskatu programmā PowerPoint, izmantojot bezmaksas veidni, praktisku slaidu struktūru, ietekmes rādītājus, finanšu datus un ziedotājiem gatavus prezentācijas padomus.

Minimālistiska investoru prezentācijas PowerPoint veidne tehnoloģiju jaunuzņēmumiem: ko iekļaut un ko izlaist

Minimālistiska investoru prezentācijas PowerPoint veidne tehnoloģiju jaunuzņēmumiem: ko iekļaut un ko izlaist

Izveidojiet tīro tehnoloģiju jaunuzņēmumu investoru prezentāciju programmā PowerPoint, izmantojot praktisku slaidu struktūru, uz pierādījumiem balstītu vēstījumu, pieejamu dizainu un mazāk uzmanības novēršanas faktoru.

Vienkārša uzdevumu deleģēšanas matricas veidne programmai Word: praktiska versija mazu komandu vadītājiem

Vienkārša uzdevumu deleģēšanas matricas veidne programmai Word: praktiska versija mazu komandu vadītājiem

Izmantojiet šo vienkāršo uzdevumu deleģēšanas matricas veidni programmā Word, lai piešķirtu īpašniekus, lēmumu pieņemšanas ierobežojumus, termiņus un kontrolpunktus, nepārāk sarežģījot nelielas komandas darbu.

Vienkārša dienas aprūpes apmeklējuma lapas veidne: drukājama pierakstīšanās un izrakstīšanās mājas bērnu aprūpei

Vienkārša dienas aprūpes apmeklējuma lapas veidne: drukājama pierakstīšanās un izrakstīšanās mājas bērnu aprūpei

Izmantojiet šo vienkāršo drukājamo dienas aprūpes centra apmeklējuma lapu mājas bērnu aprūpei ar bērnu vārdiem, ierašanās/aizbraukšanas laikiem, parakstiem un atbilstības padomiem.

Drukājama vienas lapas mārketinga stratēģijas veidne vietējiem uzņēmumiem

Drukājama vienas lapas mārketinga stratēģijas veidne vietējiem uzņēmumiem

Izmantojiet šo drukājamo vienas lapas mārketinga stratēģijas veidni, lai definētu savu vietējo auditoriju, piedāvājumu, kanālus, budžetu, iknedēļas darbības un izmērāmus mērķus.

Kā apturēt programmu Excel no automātiskas skaitļu maiņas uz datumiem

Kā apturēt programmu Excel no automātiskas skaitļu maiņas uz datumiem

Neļaujiet programmai Excel konvertēt tādas vērtības kā 1/2, 11–53 vai JAN1 datumos. Uzziniet uzticamus risinājumus rakstīšanai, ielīmēšanai, CSV importēšanai un jau konvertētajām šūnām.

Mūsdienīga nekustamā īpašuma saraksta prezentācijas PowerPoint veidne (bezmaksas): Kas jāiekļauj

Mūsdienīga nekustamā īpašuma saraksta prezentācijas PowerPoint veidne (bezmaksas): Kas jāiekļauj

Izveidojiet noformētu nekustamā īpašuma sludinājumu PowerPoint prezentācijā bez maksas ar praktisku slaidu plānu, fotoattēlu, zīmola veidošanas, pieejamības, atbilstības un eksportēšanas padomiem.

Kā novērst Outlook kļūdu: e-pasta sūtīšana neizdodas, bet saņemšana darbojas

Kā novērst Outlook kļūdu: e-pasta sūtīšana neizdodas, bet saņemšana darbojas

Novērsiet Outlook problēmu, kad e-pasts tiek saņemts, bet nevar nosūtīt. Pārbaudiet izsūtni, bezsaistes režīmu, pieteikšanos, SMTP iestatījumus, profilus un Microsoft 365 izmaiņas.

Vienkāršs divnedēļu algas aprēķina izsekošanas Excel veidne mazām komandām: Praktisks iestatīšanas ceļvedis

Vienkāršs divnedēļu algas aprēķina izsekošanas Excel veidne mazām komandām: Praktisks iestatīšanas ceļvedis

Izveidojiet vienkāršu divnedēļu algas aprēķina izsekošanas tabulu Excel mazai komandai, iekļaujot stundas, algu, atskaitījumus, pārskatīšanas karodziņus, kopsavilkumus un dokumentu glabāšanas norādījumus.

Drukājams pasākumu plānošanas kontrolsaraksts un budžeta veidne programmai Word: kas jāiekļauj un kad jāizmanto programma Excel

Drukājams pasākumu plānošanas kontrolsaraksts un budžeta veidne programmai Word: kas jāiekļauj un kad jāizmanto programma Excel

Izveidojiet vai pielāgojiet drukājamu pasākumu plānošanas kontrolsarakstu un budžeta veidni programmā Microsoft Word, iekļaujot praktiskas sadaļas, kompromisus un padomus par Word un Excel salīdzināšanu.