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,  LongSingle 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.


Norādījumi mūzikas klausīšanai pakalpojumā Google Maps

Norādījumi mūzikas klausīšanai pakalpojumā Google Maps

Norādījumi mūzikas klausīšanai pakalpojumā Google Maps. Pašlaik lietotāji var ceļot un klausīties mūziku, izmantojot Google Map lietojumprogrammu iPhone tālrunī. Šodien WebTech360 aicina jūs

LifeBOX — Viettel tiešsaistes krātuves pakalpojuma lietošanas instrukcijas

LifeBOX — Viettel tiešsaistes krātuves pakalpojuma lietošanas instrukcijas

LifeBOX lietošanas instrukcijas — Viettel tiešsaistes krātuves pakalpojums, LifeBOX ir nesen palaists Viettel tiešsaistes krātuves pakalpojums ar daudzām izcilām funkcijām.

Kā atjaunināt statusu pakalpojumā Facebook Messenger

Kā atjaunināt statusu pakalpojumā Facebook Messenger

Kā atjaunināt statusu pakalpojumā Facebook Messenger, Facebook Messenger jaunākajā versijā ir nodrošinājis lietotājiem ārkārtīgi noderīgu funkciju: mainot

Instrukcijas kāršu spēlei Vilkacis tiešsaistē datorā

Instrukcijas kāršu spēlei Vilkacis tiešsaistē datorā

Instrukcijas kāršu spēlei Werewolf Online datorā, instrukcijas Werewolf Online lejupielādei, instalēšanai un spēlēšanai datorā, izmantojot ārkārtīgi vienkāršo LDPlayer emulatoru.

Norādījumi Instagram publicēto stāstu dzēšanai

Norādījumi Instagram publicēto stāstu dzēšanai

Norādījumi Instagram publicēto stāstu dzēšanai. Ja vēlaties dzēst stāstu Instagram, bet nezināt, kā? Šodien WebTech360

Norādījumi par piedāvāto fotoattēlu pievienošanu Facebook

Norādījumi par piedāvāto fotoattēlu pievienošanu Facebook

Norādījumi par piedāvāto attēlu pievienošanu Facebook. Pašlaik Facebook ļauj mums iestatīt piedāvātos attēlus mūsu personīgajās lapās. Šeit mēs jūs aicinām

Kā novērst Windows ātrās palīdzības nedarbošanās kļūdu

Kā novērst Windows ātrās palīdzības nedarbošanās kļūdu

Kā novērst Windows Quick Assist nedarbošanās kļūdu, Windows Quick Assist palīdz ērti izveidot savienojumu ar attālo datoru. Tomēr dažreiz tas rada arī kļūdas. Bet,

Norādījumi dziesmu miksēšanas ieslēgšanai/izslēgšanai pakalpojumā Spotify

Norādījumi dziesmu miksēšanas ieslēgšanai/izslēgšanai pakalpojumā Spotify

Norādījumi dziesmu miksēšanas ieslēgšanai/izslēgšanai pakalpojumā Spotify, lai palīdzētu cilvēkiem ātri mainīt dziesmu secību iepriekš minētajā mūzikas atskaņošanas sarakstā

Norādījumi par audio slepenu ierakstīšanu iPhone tālrunī

Norādījumi par audio slepenu ierakstīšanu iPhone tālrunī

Norādījumi slepenai ierakstīšanai iPhone tālrunī, Pašlaik iPhone lietotāji var ierakstīt slepeni, pieskaroties tālruņa aizmugurē. Šodien WebTech360 aicina jūs

Kā izmantot Mixamo, lai animētu pielāgotus 3D modeļus

Kā izmantot Mixamo, lai animētu pielāgotus 3D modeļus

Kā izmantot Mixamo, lai animētu pielāgotus 3D modeļus. Izmantojot Mixamo, varat viegli importēt 3D modeli un lietot tam animācijas efektus. Zemāk ir lietošanas instrukcijas