Crearea unei proceduri pentru PowerPoint

Procedura care va fi creată pentru PowerPoint este scurtă și simplă, dar poate salva efortul utilizatorului pe termen lung pentru ca să merite realizarea ei. Macrocomanda adaugă un diapozitiv de titlu la prezentarea activă, inserând un titlu care include data curentă și numele companiei.

Pentru a crea procedura, se urmează următoarele etape:

1. Se deschide aplicația PowerPoint. Dacă PowerPoint este deschis deja, se închide și se repornește.

2. Clic pentru a deschide șablonul Blank Presentation.

3. Se apasă Alt+F11 pentru a deschide Visual Basic Editor.

4. Se verifică dacă Visual Basic Editor este setat cum s-a descris în secțiunea "Setarea Visual Basic Editor pentru crearea procedurilor", mai sus.

5. În fereastra Project Explorer, clic dreapta VBAProject (Presentation1) și se alege Insert > Module din meniul contextual. Visual Basic Editor adaugă un modul nou în proiect, afișează fereastra Code care conține codul pentru acel modul și extinde componentele proiectului în Project Explorer.

6. Se verifică dacă Visual Basic Editor a introdus instrucțiunea Option Explicit în zona cu declarații din partea de sus a ferestrei Code. Dacă nu, se deschide Tools > Options pentru a afișa caseta de dialog Options, asigurați-vă că este bifată caseta de validare Require Variable Declaration din pagina Editor și apoi faceți clic pe butonul OK (acest pas a fost descris mai sus).

7. Se apasă tasta F4 pentru a activa (sări la) fereastra Properties.

8. Se șterge numele implicit Module 1 și se înlocuiește cu General_Procedures.

9. Se apasă tasta F7 sau clic în fereastra Code pentru a o activa.

10. Sub instrucțiunea Option Explicit, se tastează instrucțiunea Sub pentru procedură și se apasă tasta Enter:

Sub Add_Title_Slide

11. Când se apasă tasta Enter, Visual Basic Editor introduce automat parantezele la finalul instrucțiunii Sub, o linie goală, apoi instrucțiunea End Sub și poziționează cursorul pe linia goală:

Sub Add_Title_Slide()
 
End Sub

12. Se apasă tasta Tab pentru a muta începutul primei linii la dreapta. Astfel, codul va fi mai ușor de citit.

13. Se identifică obiectele necesare pentru această macrocomandă. Se lucrează cu prezentarea activă, deci se va folosi obiectul ActivePresentation. Există câteva metode de a obține informații la programarea cu obiecte. Aceste informații pot fi obținute și de pe Google sau Bing, folosind căutarea object model reference powerpoint 2016. E bună și versiunea 2013, pentru că funcționează pentru acest exercițiu.

14. Clic pe legătura Presentation din "Returns a Presentation object..." din partea de sus. Această legătură va deschide pagina de Help pentru Presentation. Derulând mai jos în pagina de Help se pot găsi exemple de cod care arată cum se lucrează cu diapozitivele și obiectele lor.

15. Pe pagina Help a obiectului Presentation, clic pe legătura Presentation Object Members (care se află în partea de jos a paginii web), apoi se derulează în jos pentru a localiza obiectul Slides din lista cu proprietăți. Clic pe legătura Slides (clic Slides din coloana din dreapta. Sunt afișate informații despre obiectul Slides Collection.

16. Pe această pagină se află două informații: prima, că un diapozitiv este reprezentat de un obiect Slide (care se află în colecția Slides) și a doua, că se folosește metoda Add pentru a crea un diapozitiv nou.

17. În cod se poate scrie declarația de mai jos pentru variabila unui obiect de tip Slide, care va fi folosită pentru a reprezenta diapozitivul creat în această subrutină Sub. După tastarea unui spațiu, Visual Basic Editor afișează lista de obiecte valabile. Se tastează sl pentru a ajunge în listă la Slide (selectat) apoi se apasă Enter pentru a completa linia de cod și a trece mai jos la următoarea linie:

Dim sldTitleSlide As Slide

18. Iată altă scurtătură: se folosește instrucțiunea Set pentru a atribui obiectului sldTitleSlide un diapozitiv nou, folosind metoda Add. Se tastează set sld apoi se apasă Ctrl+spacebar pentru ca editorul Complete Word să adauge automat sldTitleSlide. Apoi se tastează = activepresentation.slides.add(, folosind asistența Visual Basic Editor, astfel încât linia să fie ca mai jos:

Set sldTitleSlide = ActivePresentation.Slides.Add(

19. La tastarea parantezei, caracteristica Auto Quick Info afișează sintaxa pentru metoda Add.

20. Se tastează argumentul Index, două puncte, semnul egal, valoarea 1 (deoarece diapozitivul de titlu este primul diapozitiv din prezentare) și o virgulă:

   Set sldTitleSlide = ActivePresentation.Slides.Add(Index:=1,

ALEGEREA ÎNTRE LISTE DE ARGUMENTE ETICHETATE ȘI IMPLICITE

Când o metodă folosește argumente, așa cum face aici metoda Add, se poate alege între specificarea numelor de argument sau omiterea lor și permițând VBA să deducă argumentele din ordinea valorilor sau constantelor.

De exemplu, în acest caz, puteți specifica oricare dintre ele.

Add(Index:=1, Layout:=ppLayoutTitle) 

sau

Add(1, ppLayoutTitle) 

Acesta din urmă este mai concis și mai ușor de scris, dar primul este mult mai clar de citit.

21. Se întrerupe declarația pe linia următoare cu un caracter de continuare a liniei (caracterul underscore precedat de un spațiu). Pe noua linie se tastează tasta Tab, apoi argumentul Layout, două puncte și semnul egal și se alege constanta ppLayoutTitle din lista derulantă List Properties / Methods.

    Set sldTitleSlide = ActivePresentation.Slides.Add(Index:=1, _ 
       Layout:=ppLayoutTitle)

22. Se tastează o paranteză la finalul instrucțiunii.

23. Se apasă tasta Enter pentru a începe o linie nouă, apoi tasta Backspace sau Shift+Tab pentru a muta cursorul la stânga.

24. La lucrul sldTitleSlide, se adaugă o instrucțiune With, apoi se poziționează cursorul între instrucțiunile With și End With

   With sldTitleSlide 
 
   End With

25. Apoi, macrocomanda va manevra două elemente din diapozitiv. Se poate folosi Macro Recorder pentru a găsi obiectele, dar de această dată se va folosi o metodă mai directă: se poziționează cursorul după linia cu instrucțiunea With și se tastează . (un punct) pentru a afișa lista Properties/Methods cu proprietățile și metodele valabile pentru obiectul Slide.

26. Uneori, lista derulantă "Proprietăți listă / metode" nu este de ajutor, deoarece afișează atât de multe proprietăți și metode eventual relevante, încât este dificil de identificat proprietatea de care este nevoie. În acest caz, proprietatea Shapes (care returnează colecția Shapes) este singurul element promițător.

27. Se apasă Ctrl+G, sau View > Immediate, sau clic pe butonul Immediate Window din bara cu instrumente Debug pentru a afișa fereastra Immediate pentru teste.

28. În fereastra Immediate se tastează următoarea instrucțiune, după care se apasă tasta Enter pentru a o executa:

    ActivePresentation.Slides(1).Shapes(1).Select

(Fereastra Immediate este o metodă uneori utilă și rapidă de a testa liniile individuale de cod fără a fi nevoie să se ruleze întreaga macrocomandă.) Pentru a vedea dacă elementul a fost selectat (dacă are în jurul lui un cadru), se comută la PowerPoint. Se apasă Alt + F11 sau se face clic pe butonul Vizualizare Microsoft PowerPoint din bara de instrumente Standard pentru a afișa fereastra PowerPoint și a verifica dacă VBA a selectat primul obiect Shape din diapozitiv.

29. Acesta este obiectul cu care se începe, dar acum trebuie adăugat textul în formă. Se revine la fereastra Code (clic pe fereastra Code sau se apasă tasta F7). Se apasă tasta Backspace pentru a șterge punctul și apoi se tastează punctul din nou pentru a reafișa lista. Se tastează caracterele te pentru a sări la elementele din lista ale căror nume încep cu text. Se selectează elementul TextFrame din listă, apoi se introduce un punct pentru a introduce termenul și a afișa lista următoare. Se derulează lista în jos, se selectează obiectul TextRange și se introduce un punct pentru a introduce termenul și a afișa lista următoare. În lista următoare, se selectează proprietatea Text. Se introduce semnul egal pentru a introduce termenul. Apoi, se introduc ghilimele duble urmate de text pentru a atribui proprietății text Pollution Update: (cu un spațiu după), ghilimele duble, ampersand și data (furnizate de funcția Date):

Shapes(1).TextFrame.TextRange.Text = "Actualizare: " & Date

30. Se atribuie informația la al doilea obiect Shape în același mod:

       .Shapes(2).TextFrame.TextRange.Text = "Numele Firmei"

În loc de "Numele Firmei", se va trece efectiv numele companiei pentru care se realizează prezentarea.

31. Procedura ar trebui să arate astfel:

Sub Add_Title_Slide()
Dim sldTitleSlide As Slide
Set sldTitleSlide = ActivePresentation.Slides.Add(Index:=1, _ 
Layout:=ppLayoutTitle)
With sldTitleSlide
.Shapes(1).TextFrame.TextRange.Text = _
"Actualizare: " & Date .Shapes(2).TextFrame.TextRange.Text = _
"Numele Firmei"
End With 
End Sub

32. Se apasă tasta F5 pentru a testa procedura. Se verifică diapozitivele din PowerPoint. Ar trebui să fie adăugat un diapozitiv nou în colecția de diapozitive din stânga. Se șterg toate diapozitivele din prezentare (se selectează diapozitive apăsând Shift în timp ce se face clic pe mai multe diapozitive din panoul din stânga, apoi se apasă Delete).

33. În bara cu instrumente Quick Access Toolbar din partea stângă sus a ferestrei PowerPoint, se poate adăuga un buton pentru macrocomanda creată, cu clic dreapta pe bară și alegerea opțiunii Customize Quick Access Toolbar.

34. Se salvează prezentarea cu numele Procedures.pptm. E posibil să apară o atenționare despre riscurile informațiile personale. Clic pe OK pentru a închide caseta de mesaj Be Careful!.

35. Se creează noua prezentare; apoi se testează macrocomanda cu clic pe buton sau pe macrocomanda din menu.

Dacă apare un mesaj de atenționare, se verifică articolul "Atenționare asupra securității" de pe pagina Macrocomenzi. Noțiuni de bază. Se închide prezentarea fără a salva modificările.