Ghimbir 2.7.53.0
Ginger este un corector gratuit de ortografie și gramatică.
Acum câteva zile, am vrut să automatizez sarcina destul de banală de a crea niște diapozitive PowerPoint. Când automatizați PowerPoint, de obicei lucrați cu colecția Slides and Shapes. Slide-urile se explică de la sine, iar formele reprezintă aproape orice altceva, inclusiv casete de text, butoane de acțiune, obiecte media, etichete, imagini, înștiințări, diagrame și așa mai departe. Deși voi prezenta tehnicile cu PowerPoint, o parte din sintaxă este de fapt destul de aplicabilă Microsoft Word și Excel.
Pentru a recapitula, înainte de a începe cu dezvoltarea macro VBA în PowerPoint, trebuie să aveți fila de dezvoltare activată .
În primul rând, să începem prin a crea automat o prezentare cu câteva diapozitive, așa cum se arată în acest tutorial: crearea unei prezentări în VBA .
Acum putem începe să lucrăm cu Shapes. În primul rând, haideți să deschidem Editorul VBA apăsând Alt+ F11. Dacă ați urmat tutorialul anterior, ar trebui să aveți modulul 1 în lista de module (după cum se arată mai jos)
Lucrul cu forme cu VBA
Adăugarea unei casete de text cu VBA
Vom începe prin a adăuga o casetă de text verticală la primul nostru slide din prezentare. Adăugați următorul cod la Module1, apoi continuați și apăsați butonul Salvare (Ctrl+s) și rulați macrocomanda (apăsați F5 sau apăsați Executare formular sub/utilizator).
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
Rețineți că puteți redimensiona dimensiunile casetei de text destul de ușor cu VBA. În acest caz, vom redimensiona prima formă din al doilea diapozitiv, nu ezitați să o modificați după cum este necesar.
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
Efecte de text cu VBA
Să presupunem acum că vrem să adăugăm o casetă de text la toate diapozitivele din prezentare, de data aceasta puțin mai atrăgătoare din punct de vedere vizual. Pentru a face asta, vom folosi VBA pentru a crea efecte de text personalizate pe care le putem încorpora într-unul sau mai multe diapozitive din prezentare. Mai întâi vom parcurge diapozitivele de prezentare și apoi vom adăuga efectul de text după cum este necesar.
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
Iata rezultatul ;-):
Rețineți că ați putea la fel de bine să utilizați un filigran simplu pentru a obține acest rezultat specific.
Înștiințări PowerPoint cu VBA
Următorul nostru exemplu va fi adăugarea de înștiințări la prezentarea dvs. În acest exemplu, vom adăuga o înștiințare în al doilea diapozitiv.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
Multe proprietăți de formatare ale formelor nu sunt stabilite de proprietăți care se aplică direct obiectului Shape sau ShapeRange . În schimb, atributele legate de formă sunt grupate sub obiecte secundare, cum ar fi obiectul FillFormat , care conține toate proprietățile care se referă la umplerea formei, sau obiectul LinkFormat , care conține toate proprietățile care sunt unice pentru obiectele OLE legate. Pentru a seta proprietăți pentru o formă, trebuie mai întâi să returnați obiectul care reprezintă setul de atribute de formă asociate și apoi să setați proprietățile acelui obiect returnat. De exemplu, utilizați proprietatea Fill pentru a returna obiectul FillFormat , apoi setați proprietatea ForeColor a obiectului FillFormat pentru a seta culoarea primului plan de umplere pentru forma specificată, așa cum se arată în exemplul următor.
VB
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
În interfața cu utilizatorul, există câteva operații pe care le puteți efectua cu mai multe forme selectate; de exemplu, puteți selecta mai multe forme și puteți seta toate umplerile lor individuale simultan. Există și alte operații pe care le puteți efectua doar cu o singură formă selectată; de exemplu, puteți edita textul dintr-o formă numai dacă este selectată o singură formă.
În Visual Basic, există două moduri de a aplica proprietăți și metode unui set de forme. Aceste două moduri vă permit să efectuați orice operație pe care o puteți efectua pe o singură formă pe o serie de forme, indiferent dacă puteți efectua sau nu aceeași operație în interfața cu utilizatorul.
Dacă operațiunea funcționează pe mai multe forme selectate în interfața cu utilizatorul, puteți efectua aceeași operație în Visual Basic, construind o colecție ShapeRange care conține formele cu care doriți să lucrați și aplicând proprietățile și metodele corespunzătoare direct colecției ShapeRange .
Dacă operațiunea nu funcționează pe mai multe forme selectate în interfața cu utilizatorul, puteți efectua operația în Visual Basic, parcurgând bucla prin colecția Shapes sau printr-o colecție ShapeRange care conține formele cu care doriți să lucrați și aplicând proprietățile corespunzătoare. și metode la obiectele individuale Shape din colecție.
Multe proprietăți și metode care se aplică obiectului Shape și colecției ShapeRange eșuează dacă sunt aplicate anumitor tipuri de forme. De exemplu, proprietatea TextFrame eșuează dacă este aplicată unei forme care nu poate conține text. Dacă nu sunteți sigur că fiecare formă dintr-o colecție ShapeRange poate avea o anumită proprietate sau metodă aplicată acesteia, nu aplicați proprietatea sau metoda colecției ShapeRange . Dacă doriți să aplicați una dintre aceste proprietăți sau metode unei colecții de forme, trebuie să treceți prin colecție și să testați fiecare formă individuală pentru a vă asigura că este un tip adecvat de formă înainte de a aplica proprietatea sau metoda acesteia.
Dacă puteți efectua o operație pe mai multe forme selectate în interfața cu utilizatorul în același timp, puteți face echivalentul programatic prin construirea unei colecții ShapeRange și apoi aplicând proprietățile sau metodele adecvate acesteia. Următorul exemplu construiește o gamă de forme care conține formele automate numite „Big Star” și „Little Star” și le aplică o umplere cu gradient și le aplică o umplere cu gradient.myDocument
VB
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Următoarele sunt linii directoare generale pentru modul în care proprietățile și metodele se comportă atunci când sunt aplicate unei colecții ShapeRange .
Aplicarea unei metode la colecție este echivalentă cu aplicarea metodei fiecărui obiect Shape individual din acea colecție.
Setarea valorii unei proprietăți a colecției este echivalentă cu setarea valorii proprietății fiecărei forme individuale din acel interval.
O proprietate a colecției care returnează o constantă returnează valoarea proprietății pentru o formă individuală din colecție dacă toate formele din colecție au aceeași valoare pentru acea proprietate. Dacă nu toate formele din colecție au aceeași valoare pentru proprietate, aceasta returnează constanta „mixtă”.
O proprietate a colecției care returnează un tip de date simplu (cum ar fi Long , Single sau String ) returnează valoarea proprietății pentru o formă individuală dacă toate formele din colecție au aceeași valoare pentru acea proprietate.
Valoarea unor proprietăți poate fi returnată sau setată numai dacă există exact o formă în colecție. Dacă există mai multe forme în colecție, apare o eroare de rulare. Acesta este în general cazul pentru returnarea sau setarea proprietăților atunci când acțiunea echivalentă în interfața utilizator este posibilă doar cu o singură formă (acțiuni precum editarea textului într-o formă sau editarea punctelor unei forme libere).
Ghidurile precedente se aplică și atunci când setați proprietăți ale formelor care sunt grupate sub obiecte secundare ale colecției ShapeRange , cum ar fi obiectul FillFormat . Dacă obiectul secundar reprezintă operațiuni care pot fi efectuate pe mai multe obiecte selectate în interfața cu utilizatorul, veți putea returna obiectul dintr-o colecție ShapeRange și veți putea să îi setați proprietățile. De exemplu, puteți utiliza proprietatea Fill pentru a returna obiectul FillFormat care reprezintă umplerile tuturor formelor din colecția ShapeRange . Setarea proprietăților acestui obiect FillFormat va seta aceleași proprietăți pentru toate formele individuale din colecția ShapeRange .
Chiar dacă nu puteți efectua o operație pe mai multe forme din interfața cu utilizatorul în același timp, selectându-le și apoi folosind o comandă, puteți efectua acțiunea echivalentă în mod programatic, parcurgând bucla prin colecția Shapes sau printr-o colecție ShapeRange care conține formele pe care le aveți. doriți să lucrați cu și să aplicați proprietățile și metodele adecvate obiectelor individuale Shape din colecție. Următorul exemplu parcurge toate formele de pe și adaugă text la fiecare formă care este o formă automată. și adaugă text la fiecare formă care este o formă automată.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
Următorul exemplu construiește o colecție ShapeRange care conține toate formele selectate curent în fereastra activă și setează textul în fiecare formă din colecție care poate conține text.
VB
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Utilizați metodele Aliniere și Distribuire pentru a poziționa un set de forme unul față de celălalt sau față de documentul care le conține. Utilizați metoda Grupare sau metoda Regrupare pentru a forma o singură formă grupată dintr-un set de forme.
Ginger este un corector gratuit de ortografie și gramatică.
Blocuri este un joc intelectual pentru elevii clasei a III-a de școală elementară pentru a-și exersa abilitățile de detectare și ochi și este inclus de profesori în programul de suport didactic IT.
Prezi este o aplicație gratuită care vă permite să creați prezentări digitale, atât online, cât și offline.
Mathway este o aplicație foarte utilă care vă poate ajuta să rezolvați toate acele probleme de matematică care necesită un instrument mai complex decât calculatorul încorporat al dispozitivului dvs.
Adobe Presenter este un software de e-Learning lansat de Adobe Systems, disponibil pe platforma Microsoft Windows ca plug-in Microsoft PowerPoint.
Toucan este o platformă tehnologică educațională. Vă permite să învățați o nouă limbă în timp ce navigați pe site-uri web comune, de zi cu zi.
eNetViet este o aplicație care ajută la conectarea părinților cu școala în care învață copiii lor, astfel încât aceștia să poată înțelege clar situația actuală de învățare a copilului lor.
Duolingo - Învață limbi străine gratuit, sau pur și simplu Duolingo, este un program educațional care îți permite să înveți și să exersezi multe limbi diferite.
RapidTyping este un instrument de instruire la tastatură convenabil și ușor de utilizat, care vă va ajuta să vă îmbunătățiți viteza de tastare și să reduceți erorile de ortografie. Cu lecții organizate pentru mai multe niveluri diferite, RapidTyping vă va învăța cum să scrieți sau să îmbunătățiți abilitățile existente.
MathType este un software interactiv de ecuații de la dezvoltator Design Science (Dessci), care vă permite să creați și să adnotați notații matematice pentru procesarea de text, prezentări, eLearning etc. Acest editor este folosit și pentru crearea documentelor TeX, LaTeX și MathML.