Modelul de obiecte PowerPoint

Obiectul Application
     Returnarea unui obiect Application
     Controlul aspectului ferestrei aplicaţiei
     Controlarea atributelor şi comportării globale
     Accesarea principalelor obiecte
     Accesarea obiectelor partajate de Ms Office
Obiectul Presentation
     Returnarea obiectului Presentation
     Deschiderea unei prezentări
     Crearea unei prezentări
     Importul dintr-un outline Word
     Activarea unei prezentări
     Numerotarea şi dimensiunile slide-urilor 
     Stabilirea unui aspect unitar
     Tipărirea unei prezentări
     Salvarea unei prezentări
     Închiderea unei prezentări
     Configurarea şi executarea unei prezentări
     Accesul la diapozitivele prezentării
Obiectele Slides, Slide şi SlideRange
     Returnarea colecţiei Slides
     Returnarea unui obiect Slide
     Returnarea unui obiect SlideRange
     Adăugarea unei diapozitiv
     Stabilirea fundalului şi schemei de culori
     Alegerea unui layout
     Adăugarea de obiecte
     Ordinea diapozitivelor
     Stabilirea efectelor tranziţiei
     Referirea notelor
Obiectul Selection
     Crearea unei selecţii
     Returnarea unei selecţii
     Returnarea unui obiect din selecţie
Obiectele View şi SlideShowView
     Prezentări, ferestre, viziuni
     Returnarea obeictelor View şi SlideShowView
     Navigarea printre diapozitive
     Alipirea la un obiect View
     Controlul viziunii din fereastra documentului
     Returnarea diapozitivului curent
Controlul obiectelor în slide show
     Controlul animaţiei
     Răspunsul la acţiunea mouse-ului
     Controlul unui clip

În acest capitol se prezintă principalele obiecte din modelul de obiecte Microsoft PowerPoint 97. Pentru a vedea o imagine a întregului model de obiecte PowerPoint ca şi enumerările complete ale proprietăţilor şi metodelor se vor consulta, totuşi, intrările respective din Help.

Afişarea sistemului de help Microsoft PowerPoint Visual Basic este posibilă dacă la instalarea aplicaţiei PowerPoint s-a selectat instalarea componentei Online Help for Visual Basic. Pentru a vedea conţinutul şi indexul acestui sistem de fişiere Help, click pe Contents and Index în meniul Help din Visual Basic Editor (VBE), iar în fişa Contents din dialogul Help Topics dublu click pe "Microsoft PowerPoint Visual Basic Reference".

Obiectul Application

La pornirea unei sesiuni PowerPoint, se creează un obiect Application. Proprietăţile şi metodele acestui obiect sunt utilizate pentru controlarea atributelor şi comportării întregii aplicaţii şi obţinerea accesului la restul modelului de obiecte PowerPoint.

Următoarele proprietăţi pot fi utilizate fără calificatorul Application, constituind accesori la modelul de obiecte: ActivePresentation, ActiveWindow, AddIns, Assistant, CommandBars, Presentations, SlideShowWindows şi Windows. Pentru alte proprietăţi şi metode este necesară calificarea. De exemplu:

Application.Quit

Cele mai utilizate proprietăţi şi metode sunt prezentate, după funcţionalitate, în continuare.

Returnarea unui obiect Application

Din cod executate în PowerPoint, obiectul Application este referit prin cuvântul cheie Application, ca în exemplul anterior.

Dacă se atribuie unei variabile obiectul Application, variabila se va declara de tip PowerPoint.Application, după modelul

Dim appPPT As PowerPoint.Application
Set appPPT = Application

Se poate utiliza de asemenea proprietatea Application a oricărui obiect PowerPoint pentru a returna obiectul Application PowerPoint. Această metodă este utilă atunci când este necesar să se obţină referinţa la obiectul Application dintr-o prezentare PowerPoint scufundată în documentul altei aplicaţii. Următorul exemplu, executat din Excel, stabileşte o variabilă la obiectul aplicaţie PowerPoint utilizând primul shape (care trebuie să fie o prezentare PowerPoint) din foaia de calcul.

Dim appPPT As PowerPoint.Application
Set embeddedPres = Worksheets(1).Shapes(1)
embeddedPres.OLEFormat.Activate
Set appPPT = embeddedPres.OleFormat.Object. Application

Următorul exemplu creează un obiect Application PowerPoint din altă aplicaţie, porneşte PowerPoint şi deschide o prezentare existentă:

Set ppt = CreateObject("Powerpoint.Application.8")
ppt.Visible = True
ppt.Presentations.Open "…numele prezentării, eventual cu cale"

Controlul aspectului ferestrei aplicaţiei

Un rezumat al proprietăţilor şi metodelor care controlează aspectul ferestrei în care se execută PowerPoint este prezentat în tabelul următor.

Acţiunea

Proprietatea sau metoda utilă

Activarea ferestrei aplicaţiei PowerPoint

Metoda Activate

Verificarea faptului că fereastra aplicaţiei PowerPoint este activă

Proprietatea Active

Stabilirea sau returnarea textului care apare în bara de titlu a aplicaţiei PowerPoint

Proprietatea Caption

Stabilirea sau returnarea mărimii şi poziţiei ferestrei PowerPoint pe ecran

Proprietăţile Height, Left, Top şi Width

Stabilirea sau returnarea vizibilităţii ferestrei aplicaţiei. Trebuie dată valoarea True la crearea obiectului Application PowerPoint în altă aplicaţie pentru a vedea PowerPoint pe ecran.

Proprietatea Visible

Stabilirea sau returnarea stării ferestrei aplicaţiei: maximizată, minimizată sau flotantă.

Proprietatea WindowsState

Multe dintre aceste proprietăţi şi metode se aplică, de asemenea, obiectului DocumentWindow pentru controlarea aspectului ferestrei documentului.

Controlarea atributelor şi comportării globale a aplicaţiei

Atributele sau acţiunile caracteristice pentru întreaga aplicaţie PowerPoint sunt controlate prin proprietăţile şi metodele prezentate în tabelul următor.

Acţiunea

Proprietatea sau metoda utilă

Numele imprimantei active

Proprietatea ActivePrinter

Returnarea numărului de construcţie PowerPoint

Proprietatea Build

Afişarea unui subiect de Help

Metoda Help

Returnarea numelui sistemului de operare

Proprietatea OperatingSystem

Returnarea căii către aplicaţia PowerPoint

Proprietatea Path

Părăsirea (închiderea) aplicaţiei PowerPoint

Metoda Quit

Executarea unei proceduri Visual Basic

Metoda Run

Returnarea numărului de versiune

Proprietatea Version

Accesarea principalelor obiecte ale aplicaţiei

Proprietăţile enumerate în tabelul următor dau acces la principalele obiecte conţinute în obiectul Application: prezentări, ferestre ale documentului, ferestre de vizualizare a diapozitivelor. Toate proprietăţile sunt ale obiectului Application.

Obiectul returnat

Proprietatea utilizată

Presentations (colecţie)

Proprietatea Presentations

Prezentarea activă

Proprietatea ActivePresentation

DocumentWindows (colecţie)

Proprietatea Windows

Fereastra documentului activ

Proprietatea ActiveWindow

AddIns (colecţie)

Proprietatea AddIns

SlideShowWindows (colecţie)

Proprietatea SlideShowWindows

Accesarea obiectelor partajate de Microsoft Office

Obţinerea referinţelor de obiecte comune tuturor aplicaţiilor Microsoft Office, cum ar fi barele de meniuri şi de unelte, FileSearch etc., este rezumată în tabelul următor.

Referinţă la

Proprietatea utilizată

Office Assistant

Proprietatea Assistant

Meniuri şi bare de unelte PowerPoint

Proprietatea CommandBars

Căutarea fişierelor

Proprietatea FileSearch

Editorul Visual Basic

Proprietatea VBE

Obiectul Presentation

Se creează un obiect Presentation de fiecare dată când se deschide sau se creează un fişier (o prezentare) în PowerPoint. Se va observa că multe dintre proprietăţile şi metodele obiectului Presentation corespund intrărilor din meniul File. Proprietăţile şi metodele obiectului Presentation, sau ale colecţiei respective, sunt utilizate pentru a deschide, crea, salva sau închide fişiere. Prin intermediul lor se vor controla atributele şi comportarea globală şi, de asemenea, se va obţine acces la obiectele conţinute: slide-uri şi mastere.

Returnarea obiectului Presentation

Se va utiliza proprietatea ActivePresentation a obiectului Application pentru a returna prezentarea care este afişată în fereastra activă. Următorul exemplu salvează prezentarea activă:

ActivePresentation.Save

Se poate returna oricare dintre prezentările deschise curent prin colecţia Presentations, în modul uzual de referire a unui element dintr-o colecţie:

Presentations("Sample Presentation").Slides.Add 1, 1

adaugă un nou slide la prezentarea "Sample Presentation".

Prin proprietatea Presentation a obiectelor DocumentWindow şi SlideShowWindow se poate returna o referinţă la prezentarea care a creat respectivele ferestre (de remarcat că proprietatea Parent returnează un obiect diferit dacă obiectul aparţine unei prezentări scufundate). Următorul exemplu afişează numele prezentării care se execută în prima fereastră slide show:

MsgBox SlideShowWindow(1).Presentation.Name

Pentru a returna un obiect Presentation reprezentând o prezentare scufundată, se utilizează proprietatea Object a obiectului OLEFormat pentru forma (shape) care conţine prezentarea scufundată, după modelul

Dim embeddedPres As Presentation
Set embeddedPres = ActivePresentation.Slides(1).Shapes(3).OLEFormat.Object

prin care se atribuie variabilei embeddedPres prezentarea scufundată în al treilea shape de pe diapozitivul cu numărul 1.

Deschiderea unei prezentări existente

Metoda Open a colecţiei Presentations (returnată de proprietatea sinonimă a obiectului Application) realizează deschiderea unei prezentări, după modelul

Dim myPres As Presentation
Set myPres = Presentations.Open _
       (FileName:= " … nume fişier + cale (dacă este necesară)…")
myPres.Window(1).ViewType = ppViewSlideSorter

unde prezentarea deschisă este vizualizată în modul Slide Sorter.

Crearea unei prezentări noi

În acest scop se utilizează metoda Add a colecţiei Presentations. Este uzual ca obiectul Presentation obţinut să fie atribuit unei variabile pentru procesare programatică ulterioară. În exemplul următor se creează o prezentare nouă şi se adaugă un slide.

Dim myPres As Presentation
Set myPres = Presentations.Add
myPres.Slides.Add 1, ppLayoutTitle

Atribuirea unui nume semnificativ are de asemenea rolul de a permite o referire uşoară la o prezentare. În exemplul următor se creează o nouă prezentare care este salvată imediat cu un nume prin aplicarea metodei SaveAs. Este de remarcat că proprietatea Name a obiectului Presentation este read-only şi prin urmare nu poate fi modificată; astfel o prezentare este identificată în mod unic prin numele său într-un proiect. Numele poate fi utilizat în mod uzual pentru a obţine o referinţă prin intermediul colecţiei Presentations:

Presentations.Add.SaveAs "Sales Report"
Presentations("Sales Report").Slides.Add 1, ppLayoutTitle

Importul unei prezentări dintr-o schiţă (outline) Word

Crearea unei prezentări dintr-un outline scris în Word se realizează din Microsoft Word prin metoda PresentIt a obiectului Document reprezentând outline-ul. Exemplul următor este ilustrativ:

Documents.Open("C:\Presentation Outline.doc").PresentIt

Activarea unei prezentări

Nu există o metodă Activate pentru obiectul Presentation. Activarea prezentării are loc o dată cu activarea uneia dintre ferestrele de document ale prezentării:

Presentations("Sales Report").Windows(1).Activate

Controlul numerotării şi dimensiunii diapozitivelor

Proprietatea PageSetup a obiectului Presentation returnează un obiect PageSetup. Acest obiect conţine valorile pentru orientarea pagini de note şi a diapozitivelor, dimensiuni şi numerotare. Proprietăţile obiectului PageSetup sunt similare dialogului PageSetup din meniul File, astfel încât anumite atribuiri produc în mod automat efecte asupra altor parametri (de exemplu o lăţime mai mare decât înălţimea produce o orientare landscape). Proprietăţile sunt:

FirstSlideNumber - returnează sau stabileşte numerotarea primului diapozitiv.

NotesOrientation, SlideOrientation - returnează sau stabilesc orientarea pe ecran şi imprimantă a notelor şi diapozitivelor. Pot fi una dintre valorile (MsoOrientation): msoOrientationHorizontal, msoOrientationMixed sau msoOrientationVertical.

SlideHeight, SlideWidth - returnează sau stabilesc dimensiunile unui diapozitiv, în puncte.

SlideSize - tipul de dimensiune a unui diapozitiv. Poate fi una dintre constantele predefinite (PpSlideSizeType): ppSlideSize35MM, ppSlideSizeA4Paper, ppSlideSizeCustom, ppSlideSizeLetterPaper, ppSlideSizeOnScreen sau ppSlideSizeOverhead.

Exemplul următor stabileşte pentru toate diapozitivele dimensiunea 11" x 8.5" şi numerotarea diapozitivelor de la 17.

With ActivePresentation.PageSetup
	.SlideWidth = 11 * 72
	.SlideHeight = 8.5 * 72
	.FirstSlideNumber = 17
End With

Ar fi de remarcat că stabilirea explicită a dimensiunilor produce trecerea proprietăţii SlideSize la valoarea ppSlideSizeCustom şi a proprietăţii SlideOrientation la msoOrientationHorizontal.

Stabilirea unui aspect unitar al prezentării

Se poate lucra programatic cu şabloane şi cu elementele master ale unei prezentări.

Aplicarea unui şablon se efectuează prin metoda ApplyTemplate a obiectului Presentation, după modelul

ActivePresentation.ApplyTemplate " … template-ul, eventual cu cale …"

Proprietăţile HandoutMaster, NotesMaster, SlideMaster sau TitleMaster ale obiectului Presentation returnează un obiect Master care reprezintă masterul entităţii respective.

Utilizarea proprietăţilor obiectului Master permite stabilirea fundalului, modificarea schemei de culori, adăugarea de controale ActiveX, lucrul cu stilurile de text. Orice modificare efectuată pentru Master se reflectă în categoria respectivă de elemente ale prezentării.

Dintre proprietăţile obiectului Master prezentăm câteva în continuare, fiecare necesitând însă o căutare în Help deoarece returnează colecţii de obiecte complexe.

Background - returnează un obiect ShapeRange reprezentând background-ul diapozitivului.

ColorScheme - returnează sau stabileşte obiectul ColorScheme reprezentând schema de culori a masterului.

HeadersFooters - returnează colecţia HeadersFooters care reprezintă antetul, subsolul, data şi numărul de pagină al diapozitivului.

Height, Width - returnează dimensiunile, în puncte. Sunt read-only pentru un master.

Shapes - returnează colecţia Shapes reprezentând toate elementele care au foest plasate sau inserate în master. Colecţia poate conţine desene, forme (shapes), obiecte OLE, imagini etc.

TextStyles - returnează colecţia TextStyles reprezentând trei stiluri de text: title text (stilul titlului), body text (textul din interiorul diapozitivului) şi default text (textul din forme grafice – shapes).

Următorul exemplu stabileşte umplerea fundalului diapozitivului master:

ActivePresentation.SlideMaster.Background.Fill.PresetGradient _
	msoGradientHorizontal, 1, msoGradientBrass

Dacă se doreşte ca o formă specifică, cum ar fi o imagine sau un control ActiveX, să apară pe toate slide-urile unei prezentări, aceasta se va adăuga la master. Un control ActiveX de pe master va răspunde la evenimente din prezentarea diapozitivelor la fiecare click pe control, pe orice slide s-ar afla.

Modificările uniforme ale textului se realizează prin intermediul stilurilor. Fiecare obiect TextStyle (din colecţia returnată de proprietatea TextStyles) conţine un obiect TextFrame care descrie cum este plasat textul în boxa de text şi un obiect Ruler care conţine tab stopurile şi informaţia de indentare. Proprietatea Levels a obiectului TextStyle returnează colecţia TextStyleLevels care conţine informaţia de formatare pentru 5 nivele de listă ierarhizată (pentru titlu şi corp se va utiliza întotdeauna nivelul întâi). Exemplul următor utilizează aceste proprietăţi pentru o formatare:

With ActivePresentation.SlideMaster.TextStyles(ppBodyStyle).Levels(1)
	With .Font
		.Name = "Arial"
		.Size = 36
	End With
	With .ParagraphFormat
		LineRuleAfter = False
		.SpaceAfter = 6
	End With
End With

Observaţie. Stilurile pentru titlu şi textul interior se poate stabili în mod diferit pentru fiecare master. Stilul textului din formele gafice nu se aplică pentru fiecare master, ci este global, pentru întreaga prezentare.

Tipărirea unei prezentări

Metoda PrintOut a obiectului Presentation tipăreşte prezentarea:

ActivePresentation.PrintOut

Opţiunile de tipărire sunt fixate anterior tipăririi prin proprietăţile şi metodele obiectului PrintOptions (returnat de proprietatea sinonimă a obiectului Presentation).

Dintre proprietăţile obiectului PrintOptions enumerăm:

OutputType care returnează sau stabileşte care elemente ale presentării se tipăresc. Poate fi o constantă de tip PpPrintOutputType:

ppPrintOutputBuildSlides

ppPrintOutputNotesPages

ppPrintOutputOutline

ppPrintOutputSixSlideHandouts

ppPrintOutputSlides (implicită)

ppPrintOutputThreeSlideHandouts

ppPrintOutputTwoSlideHandouts

 

NumberOfCopies care returnează sau stabileşte numărul de copii tipărite.

FitToPage care este True dacă la tipărire se va scala diapozitivul încât să se potrivească foii de hârtie.

Ranges care returnează obiectul PrintRanges reprezentând domeniile de dipozitive care se tipăresc.

Collate care este True (şi implicit) dacă o copie a prezentării este tipărită complet înaintea copiei următoare.

Exemplul următor utilizează câteva asemenea proprietăţi:

With ActivePresentation.PrintOptions
	.NumberOfCopies = 3
	.Collate = True
	.Parent.PrintOut
End With

unde se remarcă faptul că proprietatea Parent returnează obiectul Presentation căruia i se poate folosi proprietatea PrintOut.

Salvarea unei prezentări

Prima salvare a prezentării, în care i se dăun nume, se efectuează prin metoda SaveAs:

With Presentations.Add
	.Slides.Add 1, ppLayoutTitle
	.SaveAs "Sample"
End With

Următoarele salvări se obţin prin metoda Save:

ActivePresentation.Save

Închiderea unei prezentări

Pentru a închide o prezentare se aplică obiectului Presentation metoda Close:

Presentations("Sample").Close

Dacă prezentarea a fost modificată de la ultima salvare, este afişat, în mod automat, un mesaj de interogare asupra salvării. Pentru a închide prezentarea fără salvare şi fără afişarea mesajului se stabileşte mai întâi proprietatea Saved la True:

With Application.Presentations("Sample")
	.Saved = True
	.Close
End With

Configurarea şi executarea unei prezentări

Se va utiliza proprietatea SlideShowSettings a obiectului Presentation pentru a returna obiectul sinonim SlideShowSettings care reprezintă execuţia unei prezentări de diapozitive.

Obiectul SlideShowSettings are o singură metodă, Run, care execută prezentarea potrivit parametrilor stabiliţi de proprietăţile obiectului SlideShowSettings.

Dintre proprietăţi enumerăm câteva în continuare.

AdvanceMode returnează sau stabileşte valoarea care controlează modul de trecere la următorul diapozitiv. Poate fi o constantă de tip PpSlideShowAdvanceMode: ppSlideShowManualAdvance, ppSlideShowRehearseNewTimings sau ppSlideShowUseSlideTimings.

StartingSlide, EndingSlide stabilesc sau returnează diapozitivul cu care se începe execuţia prezentării şi cel unde se termină vizionarea.

LoopUntilStopped care este True dacă prezentarea se execută ciclic până la apăsarea tastei ESC.

RangeType returnează sau fixează tipul de prezentare executată. Poate fi una dintre constantele de tip PpSlideShowRangeType: ppShowAll, ppShowNamedSlideShow sau ppShowSlideRange.

Următorul exemplu ilustrează câteva proprietăţi:

With ActivePresentation.SlideShowSettings
	.StartingSlide = 2
	.EndingSlide = 4
	.RangeType = ppShowSlideRange
	.AdvanceMode = ppSlideShowUseSlideTimings
	.LoopUntilStopped = True
	.Run
End With

unde se remarcă faptul că ultima instrucţiune apelează metoda Run, după ce s-au fixat atributele execuţiei.

Accesul la diapozitivele prezentării

Prin metoda Slides a obiectului Presentation se obţine accesul la diapozitivele prezentării şi, de aici, la textul şi grafica unui diapozitiv. Obiectul Slide este prezentat în secţiunea următoare.

Obiectele Slides, Slide şi SlideRange

Există trei obiecte diferite în modelul de obiecte PowerPoint care reprezintă diapozitive: colecţia Slides a tuturor diapozitivelor dintr-o prezentare, colecţia SlideRange a diapozitivelor dintr-o submulţime de diapozitive şi obiectul Slide care reprezintă un diapozitiv individual. În general, se va utiliza colecţia Slides pentru adăugarea unui diapozitiv şi când se parcurg toate diapozitivele prezentării; se va utiliza obiectul Slide dacă se lucrează cu un anumit diapozitiv; se va utiliza colecţia SlideRange pentru a formata sau lucra cu mai multe diapozitive.

Returnarea colecţiei Slides

Întreaga mulţime de diapozitive a unei prezentări este referită prin proprietatea Slides a obiectului Presentation. Următorul exemplu inserează slide-urile din Clipboard la sfârşitul prezentării (pentru că nu s-a specificat locul lipirii prin .Paste(index)):

Activepresentation.Slides.Paste

Returnarea obiectului Slide

O referinţă la un slide anumit se obţine prin intermediul colecţiei Slides în mod uzual prin metoda Item. Metoda fiind implicită, menţioanrea ei este facultativă.

ActivePresentation.Slides(3).Copy

copie al treilea slide în Clipboard.

Fiecare diapozitiv al unei prezentări are ataşat un număr de identificare unic, definit automat la crearea diapozitivului. Atunci când în proiectarea unei prezentări se inserează noi diapozitive, se şterg diapozitive, se sortează etc., referirea prin indice nu returnează întotdeauna acelaşi diapozitiv. Referirea prin numărul de identificare conduce mereu la acelaşi diapozitiv. Proprietatea SlideID a unui slide returnează numărul de identificare, proprietatea fiind read-only. Proprietatea FindBySlideID permite specificarea unui slide prin ID-ul său. Exemplul următor utilizează aceste proprietăţi:

Dim newSlideID As Long
newSlideID = ActivePresentation.Slides.Add(1,ppLayoutTitleOnly).SlideID
ActivePresentation.Slides.FindBySlideID(newSlideID).Copy

Pentru a obţine o referinţă la diapozitivul afişat curent într-o fereastră document sau de slide show, se utilizează proprietatea Slide a obiectului View al ferestrei, după modelul

Windows(2).View.Slide.Copy

Pentru a returna un slide dintr-o selecţie, se foloseşte Selection.SlideRange(index), unde index este numele sau numărul de ordine din colecţie:

ActiveWindow.Selection.SlideRange(1).Layout = ppLayoutTitle

Returnarea unui obiect SlideRange

Prin Slides.Range(index), unde index este numele, indexul sau un tablou de asemenea elemente (nume sau indici), se returnează un obiect SlideRange din colecţia Slides. Pentru diapozitivele selectate astfel se poate realiza o formatare unitară etc.

With Activepresentation.Slides.Range(Array(1, 3))
	.FollowMasterBackground = False
	.Background.Fill.PresetGradient (msoGradientHorizontal, 1, msoGradientLateSunset)
End With

Adăugarea unui diapozitiv

La colecţia Slides se aplică metoda Add. Se creează un nou diapozitiv, se adaugă la colecţia tuturor diapozitivelor. Metoda acceptă două argumente prin care se specifică locul noului slide şi layout-ul diapozitivului. Ca rezultat al aplicării metodei se returnează un obiect Slide. Sintaxa:

expression.Add(Index, Layout)

unde

expression returnează o colecţie Slides.

Index specifică rangul noului slide în colecţia Slides (locul efectiv ocupat). Nu poate depăşi Slides.Count + 1.

Layout specifică formatul noului diapozitiv. Poate fi una dintre constantele PpSlideLayout:

ppLayoutBlank

ppLayoutChart

ppLayoutChartAndText

ppLayoutClipartAndText

ppLayoutClipArtAndVerticalText

ppLayoutFourObject

sppLayoutLargeObject

ppLayoutMediaClipAndText

ppLayoutObject

ppLayoutObjectAndText

ppLayoutObjectOverText

ppLayoutOrgchart

ppLayoutTable

ppLayoutText

ppLayoutTextAndChart

ppLayoutTextAndClipart

ppLayoutTextAndMediaClip

ppLayoutTextAndObject

ppLayoutTextAndTwoObjects

ppLayoutTextOverObject

ppLayoutTitle

ppLayoutTitleOnly

ppLayoutTwoColumnText

ppLayoutTwoObjectsAndText

ppLayoutTwoObjectsOverText

ppLayoutVerticalText

ppLayoutVerticalTitleAndText

ppLayoutVerticalTitleAndTextOverChart

 

 

Exemplul următor adaugă un slide titlu la începutul prezentării active.

ActivePresentation.Slides.Add 1, ppLayoutTitleOnly

Inserarea de diapozitive bazate pe un outline Word se realizează prin metoda InsertFromFile, după modelul

ActivePresentation.Slides.InsertFromFile _
			FileName:=" … numele fişierului Word …", Index:=3

Metoda are un domeniu mai larg de aplicabilitate, sintaxa este

expression.InsertFromFile(FileName, Index, SlideStart, SlideEnd)

unde

expression returnează o colecţie Slides.

FileName este numele fişierului, eventual cu cale.

Index rangul diapozitivului din colecţia Slides specificată după care se inserează noile diapozitive.

SlideStart, SlideEnd specifică prin indicii de inceput şi de sfârşit domeniul diapozitivelor din fişier care se inserează în colecţia Slides. Indicele omis este luat implicit drept indicele minim, respectiv maxim.

Stabilirea fundalului şi a schemei de culori

Pentru o formatare globală se vor utiliza elementele master. Dacă se doreşte ca un diapozitiv sau un grup de diapozitive să aibă o formatare distinctă, se va utiliza proprietatea Background sau ColorScheme a obiectului Slide sau SlideRange.

Proprietatea Background returnează un obiect ShapeRange, se aplică proprietatea Fill pentru returnarea obiectului FillFormat şi acest obiect reprezintă umplerea fundalului. Proprietăţile şi metodele acestui obiect modifică aspectul background-ului dorit. Este de menţionat că pentru a păstra modificările valabile doar pentru diapozitivul (diapozitivele) procesat, proprietatea FollowMasterBackground trebuie fixată pe False.

Datorită complexităţii obiectului, FillFormat se va studia din Help, pentru a vedea multiplele proprietăţi şi metode suportate.

Exemplul următor dă o imagine redusă a posibilităţilor de prelucrare grafică:

With ActivePresentation.Slides(1)
	.FollowMasterBackground = False
	.Background.Fill.PresetGradient _
			msoGradientHorizontal, 1, msoGradientDaybreak
End With

metoda PresetGradient aplică un efect vizual caracterizat de trei parametri, Style, Variant şi PresetGradientType, corespunzând dialogului Fill Effects din PowerPoint (şi nu numai).

Modificarea culorilor se poate realiza prin schimbarea schemei de culori sau prin editarea unei culori particulare dintr-o schemă. Proprietatea ColorScheme a unui obiect Slide sau SlideRange returnează obiectul ColorScheme care reprezintă schema de culori. Se poate schimba apoi schema sau se poate utiliza metoda Colors pentru a edita culori. Numerotarea schemelor de culori este cea din dialogul Color Scheme din PowerPoint. Exemplele următoare ilustrează mecanismul modificărilor.

With ActivePresentation
	.Slides(1).ColorScheme = .ColorScheme(3)
End With

sau

ActivePresentation.Slides(1).ColorScheme.Colors(ppTitle).RGB = RGB(0,255,0)

care colorează titlul în verde. Culorile schemei de culori pot fi referite printr-o constantă de tip PpColorSchemeIndex: ppAccent1, ppAccent2, ppAccent3, ppBackground, ppFill, ppForeground, ppNotSchemeColor, ppShadow sau ppTitle, cu interpretările imediate din PowerPoint.

Schema de culori este pierdută la aplicarea unui template, moment în care se schimbă şi schemele de culori disponibile.

Alegerea unui layout

La adăugarea unui diapozitiv s-a văzut că se stabileşte şi layout-ul acestuia prin argumentul Layout. Returnarea sau modificarea layout-ului se realizează prin proprietatea Layout:

ActivePresentation.Slides(1).Layout = ppLayoutTextAndChart

La modificarea layout-ului sunt totuşi păstrate şi rezervările care conţin text sau obiecte.

Adăugarea de obiecte la un diapozitiv

Se pot adăuga obiecte (cum ar fi AutoShapes, obiecte OLE, imagini) la un diapozitiv utilizând una dintre metodele colecţiei Shapes. O referinţă la această colecţie se obţine prin proprietatea Shapes a obiectului Slide, colecţia reprezentând întregul layer de desen de pe un diapozitiv. Operarea cu aceste obiecte este descrisă într-un capitol separat, dedicat obiectelor desenate.

Schimbarea ordinii diapozitivelor

Pentru a schimba locul unui diapozitiv într-o prezentare se utilizează metodele Cut şi Paste prin care se ia un diapozitiv din locul vechi şi se inserează în noua poziţie:

With ActivePresentation.Slides
	.Item(4).Cut
	.Paste 6
End With

care mută diapozitivul diapozitivul 4 pe locul 6 din prezentare.

Stabilirea efectelor tranziţiei diapozitivelor

Atributele tranziţiei unui diapozitiv sunt păstrate în proprietăţile obiectului SlideShowTransition, returnat de proprietatea sinonimă SlideShowTransition a obiectului Slide sau SlideRange. Proprietăţile privind tranziţia corespund opţiunilor disponibile prin dialogul specializat din PowerPoint: AdvanceOnClick, AdvanceOnTime, AdvanceTime, EntryEffect, SoundEffect, Speed.

Primele două proprietăţi, AvanceOnClick şi AvanceOnTime, sunt True dacă trecerea la următorul slide are loc la click sau după un timp fixat de AdvanceTime. Pot fi stabilite ambele tipuri de avans la True.

EntryEffect stabileşte modul de apariţie a noului diapozitiv. Poate avea una dintre valorile tipului enumerat PpEntryEffect, de forma ppEffectAppear, ppEffectBlindsHorizontal, ppEffectBlindsVertical, ppEffectBoxIn şi încă alte vreo 60 de constante, descriind efectele selectabile prin dialogurile PowerPoint.

SoundEffect returnează obiectul sinonim care controlează ce se va cânta când are loc tarnziţia. Metoda utilă (nu sunt multe altele) este ImportFromFile prin care se specifică un fişier de tip sound.

Speed precizează ritmul efectuării tranziţiei. Returnează sau stabileşte acest ritm ca o constantă de tip PpTransitionSpeed: ppTransitionSpeedFast, ppTransitionSpeedMedium, ppTransitionSpeedMixed sau ppTransitionSpeedSlow.

Exemplul următor ilustrează câteva dintre aceste proprietăţi.

With ActivePresentation.Slides(1).SlideShowTransition
	.Speed = ppTransitionSpeedFast
	.EntryEffect = ppEffectStripsDownLeft
	.SoundEffect.ImportFromFile "c:\…\bass.wav"
	.AdvanceOnTime = True
	.AdvanceTime = 5
End With
ActivePresentation.SlideShowSettings.AdvanceMode = _
			ppSlideShowUseSlideTimings

În exemplu se remarcă faptul că proprietatea AdvanceMode ia valoarea ppSlideShowUseSlideTimings, pentru considerarea timpului fixat la tranziţia diapozitivului.

Referirea notiţelor vorbitorului (Speaker's notes)

Proprietatea NotesPages returnează un obiect SlideRange care reprezintă paginile de note pentru un diapozitiv sau un domeniu de diapozitive. Obiectul returnat are anumite restricţii în privinţa utilizării unor proprietăţi şi metode în raport cu obiectul SlideRange care reprezintă un domeniu de slide-uri.

Pentru a modifica toate diapozitivele simultan se va utiliza proprietatea NotesMaster a obiectului Presentation, proprietatea care returnează un obiect Slide reprezentând masterul notiţelor.

ActivePresentation.Slides(1).NotesPage.Shapes.Placeholders(2) _
		.TextFrame.TextRange.InsertAfter " …textul care se adaugă… "

Obiectul Selection

În PowerPoint, obiectul Selection reprezintă selecţia efectuată într-o fereastră de document. Se pot utiliza metodele obiectului Selection pentru a tăia, copia, şterge sau deselecta porţiunea selectată. Proprietatea Type a obiectului Selection identifică tipul selecţiei (diapozitive, shape, text sau nimic). Pentru returnarea unui anumit tip de selecţie se vor utiliza proprietăţile ShapeRange, SlideRange şi TextRange.

Observaţie. Codul bazat pe o selecţie este în general ineficient şi presupunerea selectării prealabile a unei entităţi nu este de obicei necesară; de exemplu, se poate schimba fontul unui text şi fără a-l selecta în prealabil. Dacă proiectul VBA porneşte de la cod obţinut prin Macro Recorder, se va modifica pentru a-l face, pe cât posibil, independent de selecţie.

Crearea unei selecţii

Se poate obţine o selecţie fie în mod manual, fie aplicând metoda Select unuia dintre obiectele Shape, ShapeRange, Slide, SlideRange sau TextRange. Exemplul următor selectează formele 1 şi 3 de pe slide-ul 1 din prezentarea activă:

ActivePresentation.Slides(1).Shapes.Range(Array(1,3)).Select

Este de reţinut că se poate efectua o selecţie programatică doar dacă s-ar putea efectua aceeaşi selecţie în mod manual: obiectul trebuie să fie accesibil, viziunea trebuie să permită selecţii de acel tip etc.

Returnarea unei selecţii

Se va utiliza proprietatea Selection a obiectului DocumentWindow pentru a returna selecţia din fereastra respectivă:

ActiveWindow.Selection.Cut

Returnarea unui obiect din selecţie

Prin proprietatea ShapesRange a obiectului Selection se returnează colecţia ShapeRange care include toate formele desenate din selecţie. Se utilizează metoda Item pentru accesul la un obiect din colecţie. Exemplul următor taie a treia formă desenată din selecţia existentă în fereastra activă:

ActiveWindow.Selection.ShapeRange(3).Cut

Prin intermediul proprietăţii TextRange se poate accesa textul dintr-o selecţie sau textul dintr-o formă desenată. În continuare se prezintă principalele operaţiuni realizate prin intermediul obiectului TextRange.

Returnarea domeniului de text dintr-o selecţie.

ActiveWindow.Selection.TextRange.Copy

Prin intermediul metodelor Characters, Lines, Paragraphs, Runs, Sentences sau Words se poate obţine o porţiune anumită de text din textul conţinut în TextRange.

Returnarea domeniului de text dintr-o formă desenată (shape) se realizează prin proprietatea TaxtRange a obiectului TextFrame.

ActiveWindow.Selection.ShapeRange(3).TextFrame.TextRange _
			.Characters(1,3).Font.Bold = True

Se utilizează proprietatea HasTextFrame pentru a vedea dacă o formă are ataşat un cadru cu text şi se utilizează proprietatea HasText pentru a determina dacă există text în cadrul de text.

Inserarea de text, dată şi timp sau număr de slide se realizează prin intermediul metodelor InsertAfter, InsertBefore, InsertDateTime, InsertSlideNumber sau InsertSymbol.

Prin proprietatea SlideRange a obiectului Selection se returnează colecţia SlideRange care include toate diapozitivele selectate. Exemplul următor taie diapozitivele selectate în fereastra activă.

ActiveWindow.Selection.SlideRange.Cut

Obiectele View şi SlideShowView

La deschiderea unui fişier în PowerPoint, se creează simultan un obiect Presentation, care reprezintă conţinutul fişierului, un obiect DocumentWindow, care reprezintă interfaţa dintre utilizator şi fişier în modul design, un obiect View, care reprezintă un container pentru conţinutul fişierului în modul design.

La pornirea unui slide show, se creează un obiect SlideShowWindow, care reprezintă interfaţa între utilizator şi fişier în modul run, şi un obiect SlideShowView, care reprezintă un container pentru conţinutul fişierului în modul run (de execuţie).

Înţelegerea prezentărilor, ferestrelor şi a viziunilor

Modificările entităţilor care se văd pe ecranul aplicaţiei se realizează prin modificarea unuia dintre obiectele Presentation, DocumentWindow sau View. Care anume dintre obiecte se modifică este prezentat în continuare.

Schimbările efectuate asupra conţinutului efectiv al diapozitivelor — cum ar fi adăugarea, ştergerea sau formatarea obiectelor — sunt modificări ale prezentării şi sunt controlate de proprietăţile şi metodele obiectului Presentation ca şi de obiectele inferioare în ierarhia de obiecte PowerPoint.

Schimbările efectuate asupra interfeţei care afişează conţinutul – cum ar fi modificarea dimensiunii ferestrei sau comutarea afişarii în alb-negru – sunt modificări ale ferestrei documentului sau ferestrei de demonstrare a diapozitivelor şi sunt controlate de proprietăţile/metodele obiectelor DocumentWindow sau SlideShowWindow. Aceste modificări nu afectează conţinutul fişierului. Modiifcările ferestrei documentului se păstrează la comutarea viziunilor.

Schimbările efectuate asupra modului în care informaţia este afişată – cum ar fi dacă se vede text şi grafică sau numai grafică, cât de mari apar pe ecran elementele – sunt modificări ale viziunii şi sunt controlate de proprietăţile şi metodei obiectelor View şi SlideShowView. Aceste modificări nu afectează conţinutul fişierului şi nu sunt reţinute la comutarea viziunilor.

Returnarea obiectelor View şi SlideShowView

Obiectul View reprezintă modul în care informaţia este afişată în fereastra documentului. Se utilizează proprietatea View a obiectului DocumentWindow pentru a returna un obiect View. Următorul exemplu fixează fereastra documentului să se ajusteze automat la dimensiunile ferestrei aplicaţiei.

Windows(1).View.ZoomToFit = True

Obiectul SlideShowView reprezintă modul în care informaţia este afişată în fereastra de slide show. Se utilizează proprietatea View a obiectului SlideShowWindow pentru a returna obiectul SlideShowView. Următorul exemplu execută un slide show a prezentării active cu inhibarea shortcut-urilor (metoda Run a obiectului SlideShowSettings returnează un obiect SlideShowWindow)

ActivePresentation.SlideShowSettings.Run.View _
		.AcceleratorsEnabled = False

Următorul exemplu fixează culoarea pointerului şi forma pointerului pentru al doilea slide show care se execută curent (există doar o fereastră pe aplicaţie în care se execută un slide show, dar pot exista mai multe aplicaţii care execută slide show-uri în acelaşi timp).

With SlideShowWindow(2).View
	.PointerColor.RGB = RGB(255,0,0)
	.PointerType = ppSlideShowPointerPen
End With

Navigarea printre diapozitive

Prin metoda GoToSlide a obiectului View sau SlideShowView se activează slide-ul specificat. Este de menţionat că termenul "diapozitiv activ" depinde de viziunea curentă: în slide view sau în note view, slide-ul curent este cel afişat; în outline view sau slide sorter view, slide-ul activ este cel selectat.

SlideShowWindows(1).View.GoToSlide 3

Se poate trece la primul diapozitiv prin metoda First, la ultimul diapozitiv prin Last, sau se poate trece la un slide show denumit prin metoda GoToNamedShow. Prin ultima metodă se trece la altă prezentare de diapozitive în timpul unei alte prezentări. Când prezentarea avansează, următorul diapozitiv arătat este următorul din prezentarea unde s-a făcut transferul şi nu următorul din prezentarea curentă. Sintaxa este

expression.GotoNamedShow(SlideShowName)

unde

expression este obligatorie, returnează un obiect SlideShowView.

SlideShowName este obligatoriu, numele slide show-ului unde se trece controlul.

SlideShowWindows(1).View.GotoNamedShow "…slide show-ul unde se trece …"

Alipirea conţinutului Clipboard-ului la un obiect View

Prin metoda Paste a obiectului View se alipeşte conţinutul din Clipboard la viziunea din fereastra de document activă. Următorul exemplu copie selecţia din prima fereastră în Clipboard şi o alipeşte apoi la viziunea din fereastra a doua. Dacă operaţiunea nu poate avea loc (vezi tabelul următor) se produce o eroare.

Windows(1).Selection.Copy
Windows(2).View.Paste

Operaţiunea de alipire depinde de viziunea ferestrei. Situaţiile posibile de copiere a conţinutului din Clipboard sunt prezentate în tabelul următor.

Viziunea

Se poate alipi

Slide view sau notes page view

Shapes, text sau diapozitive întregi.

Formele alipite sunt adăugate în top-ul ordinei pe z şi nu înlocuiesc formele selectate.

Dacă este selectată o formă, textul alipit va fi adăugat la textul formei; dacă este selectat text, textul alipit înlocuieşte selecţia; dacă nu este selectat nimic, textul alipit este plasat într-un text frame propriu.

Dacă se alipeşte un întreg slide, o imagine a slide-ului este inserată pe diapozitiv, master sau pagina de note ca un obiect scufundat.

Outline view

Text sau diapozitive întregi.

Un slide alipit este inserat înaintea slide-ului care conţine punctul de inserţie.

Nu se pot alipi forme desenate în outline view.

Slide sorter view

Diapozitive întregi.

Un slide alipit este inserat la punctul de inserţie sau după ultimul slide din selecţie.

Nu se pot alipi forme sau text în slide sorter view.

Din tabel rezultă importanţa alegerii unei viziuni corecte pentru prezentare înainte de a efectua o operaţiune de tăiere+alipire.

Stabilirea sau verificarea tipului de viziune din fereastra documentului

Prin proprietatea Type a obiectului View se obţine ce fel de viziune are documentul activ iar proprietatea ViewType a obiectului DocumentWindow se utilizează pentru a stabili viziunea din fereastra documentului. Următorul exemplu realizează o copiere cu fixarea tipului de viziune adecvat operaţiunii de alipire.

Windows(1).Selection.Copy
With Windows(2)
	.ViewType = ppViewSlide
	.View.Paste
End With

Alte constante pentru viziuni sunt grupate în PpViewType:

ppViewHandout,

ppViewHandoutMaster,

ppViewNotesMaster,

ppViewNotesPage,

ppViewOutline,

ppViewSlide,

ppViewSlideMaster,

ppViewSlideShow,

ppViewSlideSorter

ppViewTitleMaster

 

 

Interpretările sunt imediate.

Returnarea diapozitivului curent

Proprietatea Slide returnează obiectul Slide care reprezintă diapozitivul afişat în acel moment într-o fereastră de slide show sau într-o fereastră document.

SlideShowWindows(1).View.Slide.Copy

Dacă slide-ul afişat curent este dintr-o prezentare scufundată, se poate utiliza proprietatea Parent a obiectului Slide returnat de proprietatea sinonimă pentru a returna prezentarea scufundată (proprietatea Presentation a obiectului SlideShowWindow sau DocumentWindow returnează prezentarea în care fereastra a fost creată şi nu prezentarea scufundată).

Controlarea comportării obiectelor în timpul unui slide show

Întregul strat de desen de pe un diapozitiv este reprezentat de colecţia Shapes şi fiecare obiect de pe un diapozitiv – fie că este o rezervare de loc (placeholder), o formă AutoShape sau un obiect OLE – este reprezentat de un obiect Shape. Utilizând proprietăţile şi metodele colecţiei Shapes se pot adăuga obiecte la diapozitive şi se obţine acces la obiectele individuale de pe un diapozitiv. Prin proprietăţile şi metodele unui obiect Shape se poate controla aspectul formei, textul sau obiectul OLE care este conţinut şi modul în care se comportă forma respectivă în timpul unui slide show.

În continuare se discută doar despre comportarea formei desenate în slide show, aspectele celelalte fiind discutate în capitolul dedicat desenelor din Microsoft Office.

Controlul animaţiei

Obiectul AnimationSettings conţine proprietăţile şi metodele care controlează cum şi când apare un shape pe un anumit slide în timpul prezentării. Următorul exemplu fixează forma a doua de pe primul slide să devină animată în mod automat după cinci secunde.

With ActivePresentation.Slides(1).Shapes(2).AnimationSettings
	.AdvanceMode = ppAdvanceOnTime
	.AdvanceTime = 5
	.TextLevelEffect = ppAnimateByAllLevels
	.Animate = True
End With

La lucrul cu proprietăţile obiectului AnimationSettings este important să se înţeleagă interacţiunea dintre proprietăţile obiectului între ele şi cu proprietatea AdvanceMode a obiectului SlideShowSettings.

Efectele valorilor stabilite pentru proprietăţile obiectului AnimationSettings nu devin vizibile decât dacă forma respectivă este animată, adică proprietatea Animate este fixată pe True.

În animarea textului proprietatea TextUnitEffect stabileşte unitatea de animaţie (cuvânt, paragraf etc) prin ppAnimateByCharacter, ppAnimateByParagraph, ppAnimateByWord sau ppAnimateUnitMixed. Proprietatea TextLevelEffect (care interacţionează cu precedenta la anumite valori) stabileşte nivelul ierarhic al textului animat:

ppAnimateByAllLevels

ppAnimateByFifthLevel

PpAnimateByFirstLevel

ppAnimateByFourthLevel

ppAnimateBySecondLevel

PpAnimateByThirdLevel

ppAnimateLevelMixed

ppAnimateLevelNone.

 

Pentru introducerea temporizării în animaţie, se va stabili proprietatea AdvanceMode la ppAdvanceOnTime şi se va indica un număr de secunde în AdvanceTime. Totodată, proprietatea AdvanceMode a obiectului SlideShowSettings trebuie să fie ppSlideShowUseSlideTimings.

Proprietatea AfterEffect controlează ce se întâmplă după ce forma a devenit animată. Dacă forma a fost animată şi altă formă nu este animată după ea, atunci efectele ulterioare nu sunt vizibile. În plus, efectul proprietăţii DimColor nu este vizibil decât dacă AfterEffect este stabilit la ppAfterEffectDim.

Ordinea de animare a formelor de pe un slide este stabilită prin proprietatea AnimationOrder, proprietatea EntryEffect stabileşte modul de apariţie a formei iar ChartUnitEffect controlează modul de animare al elementelor unei diagrame.

Controlul răspunsului la acţiunea mouse-ului

Efectul acţiunilor mouse-ului (click sau trecere peste formă) este controlat de colecţia ActionSettings. Colecţia conţine două obiecte identificate prin indexul ppMouseClick sau ppMouseOver reprezentând, respectiv, acţiunile la click sau trecerea mouse-ului pe deasupra formei sau textului în timpul unui slide show.

With ActivePresentation.Slides(1).Shapes(3).TextFrame. _
					TextRange.ActionSettings(ppMouseClick)
	.Action = ppActionHyperLink
	.HyperLink.Address = "http://www.microsoft.com"
End With

Unde se remarcă utilizarea indexului de identificare a acţiunii la click pe formă şi definirea unei acţiuni prin proprietatea Action.

Valorile posibile pentru Action sunt constantele PpActionType:

ppActionEndShow

ppActionFirstSlide

ppActionHyperlink

ppActionLastSlide

ppActionLastSlideViewed

ppActionMixed

ppActionNamedSlideShow

ppActionNextSlide

ppActionNone

ppActionOLEVerb

ppActionPreviousSlide

ppActionRunMacro

ppActionRunProgram.

 

 

Este de notat că anumite acţiuni sunt proprii doar unor tipuri de forme şi se vor alege acele acţiuni care sunt disponibile în interfaţa utilizator din PowerPoint pentru forma procesată.

În următorul exemplu se stabileşte că, în slide show, atunci când a treia formă de pe al doilea diapozitiv este click-ată, culoarea formei este momentan inversată, se aude fişierul sound "applause" şi prezentarea revine la primul slide.

With ActivePresentation.Slides(2).Shapes(3) _
				.ActionSettings(ppMouseClick)
	.Action = ppActionFirstSlide
	.SoundEffect.Name = "applause"
	.AnimateAction = True
End With

Dacă se stabileşte o proprietate a obiectului ActionSettings dar fără efectul scontat, se va verifica valoarea atribuită proprietăţii Action. Tabelul care urmează oferă câteva precizări.

Dacă se utilizează proprietatea

Pentru a efectua

Valoarea necesară pentru proprietatea Action

Hyperlink

Stabilirea proprietăţilor pentru hiperlegătura care este urmărită ca răspuns la acţiunea mouse-ului.

ppActionHyperlink

Run

Returnarea/stabilirea numelui programului executat ca răspuns la acţiunile mouse-ului.

ppActionRunProgram

Run

Returnarea/stabilirea numelui procedurii macro executate ca răspuns la acţiunea mouse-ului.

ppActionRunMacro

ActionVerb

Stabilirea verbului OLE care va fi invocat ca răspuns la acţiunea mouse-ului.

ppActionOLEVerb

SlideShowName

Stabilirea numelui slide show-ului propriu care se va executa ca răspuns la o acţiune a mouse-ului.

ppActionNamedSlideShow

Următorul exemplu utilizează proprietatea Hyperlink:

With ActivePresentation.Slides(1).Shapes(1).ActionSettings(ppMouseClick)
	.Action = ppActionHyperlink
	.Hyperlink.Address = "http://www.infoiasi.ro"
End With

Controlul unui clip

Obiectul PlaySettings, returnat prin proprietatea PlaySettings a obiectului AnimationSettings, conţine proprietăţi şi metode care controlează cum şi când se derulează un clip media. Următorul exemplu inserează un movie numit "Clock.avi" în primul slide din prezentarea activă, fixează execuţia automată după animaţia sau tranziţia precedentă, specifică continuarea show-ului în timp ce se execută filmul şi specifică faptul că obiectul movie este ascuns în timpul slide show-ului cu excepţia timpului când se execută.

Set clockMovie = ActivePresentation.Slides(1).Shapes.AddMediaObject _
		(FileName:="c:\…\clock.avi", Left:=20, Top:=20)
With clockMovie.AnimationSettings.PlaySettings
	.PlayOnEntry = True
	.PauseAnimation = False
	.HideWhileNotPlaying = True
End With

În funcţie de modul cum se inserează clipul ca un obiect OLE (utilizând comanda Object din meniul Insert sau utilizând metoda AddMediaObject) sau ca un obiect media nativ (utilizând meniul Movies and Sounds sau metoda AddMediaObject), se pot aplica diferite proprietăţi obiectului PlaySettings. Se regăsesc astfel opţiunile disponibile în fişa Play Settings din dialogul Custom Animation (deschis din meniul SlideShow).

Modul preferat de inserare a clipurilor este ca obiecte native media, deoarece acestea nu necesită Windows Media Player şi reacţionează astfel mai rapid. Multe dintre proprietăţile obiectului PlaySettings se aplică numai clipurilor media native. Proprietatea ActionVerb, care corespunde opţiunilor listate în boxa Object din fişa PlaySettings a dialogului Custom Animation, este singura care nu se aplică clipurilor media native.

Utilizând proprietatea Type a obiectului Shape se poate determina dacă un clip este nativ (valoarea returnată msoMedia) sau nu. Proprietatea MediaType a obiectului Shape determină dacă este sound sau movie (ppMediaTypeMixed, ppMediaTypeMovie, ppMediaTypeOther sau ppMediaTypeSound). Următorul exemplu fixează toate obiectele native sound din primul slide să se execute mereu până sunt oprite manual.

Dim so As Shape
For Each so In ActivePresentation.Slides(1).Shapes
	If so.Type = msoMedia Then
		If so.MediaType = ppMediaTypeSound Then
			so.AnimationSettings.PlaySettings.LoopUntilStopped = True
		End If
	End If
Next