Ricerca…


Osservazioni

Questa sezione dimostra una varietà di modi per interagire con PowerPoint tramite VBA. Dalla visualizzazione dei dati sulle diapositive alla creazione di grafici, PowerPoint è uno strumento molto potente se utilizzato in combinazione con Excel. Pertanto, questa sezione cerca di dimostrare i vari modi in cui VBA può essere utilizzato per automatizzare questa interazione.

Nozioni di base: avvio di PowerPoint da VBA

Mentre ci sono molti parametri che possono essere modificati e varianti che possono essere aggiunte a seconda della funzionalità desiderata, questo esempio illustra il framework di base per l'avvio di PowerPoint.

Nota: questo codice richiede che il riferimento PowerPoint sia stato aggiunto al progetto VBA attivo. Vedere la voce Documentazione di riferimento per informazioni su come abilitare il riferimento.

Innanzitutto, definire le variabili per l'applicazione, la presentazione e gli oggetti diapositiva. Mentre questo può essere fatto con l'associazione tardiva, è sempre meglio usare il binding anticipato quando applicabile.

Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide

Quindi, apri o crea una nuova istanza dell'applicazione PowerPoint. Qui, la chiamata On Error Resume Next viene utilizzata per evitare che venga generato un errore da GetObject se PowerPoint non è stato ancora aperto. Vedere l'esempio di gestione degli errori del Best Practices Topic per una spiegazione più dettagliata.

'Open PPT if not running, otherwise select active instance
On Error Resume Next
Set PPApp = GetObject(, "PowerPoint.Application")
On Error GoTo ErrHandler
If PPApp Is Nothing Then
    'Open PowerPoint
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Visible = True
End If

Una volta avviata l'applicazione, viene generata una nuova presentazione e successivamente una diapositiva.

'Generate new Presentation and slide for graphic creation
Set PPPres = PPApp.Presentations.Add
Set PPSlide = PPPres.Slides.Add(1, ppLayoutBlank)

'Here, the slide type is set to the 4:3 shape with slide numbers enabled and the window 
'maximized on the screen.  These properties can, of course, be altered as needed

PPApp.ActiveWindow.ViewType = ppViewSlide
PPPres.PageSetup.SlideOrientation = msoOrientationHorizontal
PPPres.PageSetup.SlideSize = ppSlideSizeOnScreen
PPPres.SlideMaster.HeadersFooters.SlideNumber.Visible = msoTrue
PPApp.ActiveWindow.WindowState = ppWindowMaximized

Al completamento di questo codice, verrà aperta una nuova finestra di PowerPoint con una diapositiva vuota. Utilizzando le variabili dell'oggetto, è possibile aggiungere le forme, il testo, la grafica e gli intervalli di Excel come desiderato



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow