Come copiare aggiungere diapositive nella presentazione di PowerPoint con le macro VBA?

Ultimo aggiornamento: giugno 2020

Applicabile a: Office 2019 e versioni precedenti. Solo Windows.

Ecco una domanda di un lettore:

Come parte della mia presentazione del rapporto trimestrale alla direzione, spesso ho bisogno di copiare diverse diapositive di informazioni generali da altre presentazioni. Non è un grosso problema, ma sarebbe un notevole risparmio essere in grado di automatizzare questo esercizio. Qualsiasi aiuto Macro VBA per raggiungere questo obiettivo è apprezzato!

Come hai appena accennato, puoi automatizzare il copia e incolla delle diapositive in PowerPoint utilizzando Visual Basic, Applications Edition. Se hai bisogno di creare diverse presentazioni ogni mese, questa copia/importazione automatizzata di diapositive potrebbe farti risparmiare molto tempo!

PowerPoint VBA per l'aggiunta di diapositive

Andiamo avanti con questo semplice esercizio.

Prima di tutto, assicurati che la tua scheda di sviluppo sia abilitata e visibile. Ecco come farlo .

Presumo che tu abbia già creato una presentazione abilitata per Macro (il tipo di file è .pptm), che hai inserito nella stessa directory della presentazione di origine (che chiamerò source.pptm). Ecco come creare una presentazione PowerPoint con VBA .

Prima di tutto, facciamo un backup di quella presentazione (semplice copia e salva).

Quindi andiamo avanti e inseriamo la seguente Macro in un nuovo modulo VBA nella presentazione di destinazione. Tutti i dettagli su come farlo possono essere trovati nel nostro tutorial VBA di PowerPoint .

Ecco il codice VBA di cui avrai bisogno per copiare e incollare automaticamente le diapositive.

Un paio di ipotesi che ho fatto:

  • La presentazione di origine è denominata source.pptm
  •  Incollerai le diapositive 2-4 dalla presentazione di origine
  • Posiziona le diapositive copiate a partire dalla diapositiva 5.

Sub InsertFromOtherPres()

' This short VBA macro copies slides from one presentation and inserts them into another

ActivePresentation.Slides.InsertFromFile FileName:="source.pptm", Index:=1, SlideStart:=2, 
SlideEnd:=4

End Sub

Ovviamente, sentiti libero di modificare l'indicizzazione del numero di diapositive nel codice in modo che si adattino alle tue esigenze.

Puoi scorrere diverse presentazioni e inserire diapositive specifiche da ciascuna nel tuo rapporto di gestione.

PowerPoint VBA per la duplicazione di diapositive

Invece di copiare le diapositive in un'altra presentazione, potresti voler clonare una o più diapositive nella tua presentazione:

Sub CopySlides()

' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly

ActivePresentation.Slides(3).Duplicate

End Sub

Quelli erano solo un paio di semplici esempi di automazione di PowerPoint. I lettori in cerca di domande specifiche, non esitate a inviare una richiesta tramite la pagina Contatti.

Spero che aiuti 🙂

Conserva la formattazione durante la copia delle diapositive

Il problema con l'esempio precedente era che la formattazione del tema della presentazione originale non veniva copiata. Supponendo che i 2 fogli avessero una formattazione diversa, ecco cosa sarebbe successo:

Esempio 1

 

Sub main()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

Next i

objPresentation.Close

End Sub

Prima di eseguire il codice
Questa la presentazione con la slide che vogliamo copiare: Risultato: per superare questo problema potresti usare il codice qui sotto:
Diapositive da copiare

Risultato

 

Sub Example2()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

    Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _

        objPresentation.Slides.Item(i).Design

Next i

objPresentation.Close

End Sub

Oltre a copiare la diapositiva, il codice sopra copia il design. Se volessi farlo manualmente, copieresti lo slidemaster nella nuova presentazione. Non puoi copiare lo slidemaster utilizzando VBA ma puoi invece impostare la proprietà di progettazione delle diapositive.


Zenzero 2.7.53.0

Zenzero 2.7.53.0

Ginger è un correttore ortografico e grammaticale gratuito.

Blocchi

Blocchi

Blocks è un gioco intellettuale rivolto agli studenti delle scuole elementari di terza elementare per esercitare le proprie capacità di rilevamento e vista ed è incluso dagli insegnanti nel programma di supporto all'insegnamento informatico.

Prezio 6.26

Prezio 6.26

Prezi è un'applicazione gratuita che ti consente di creare presentazioni digitali, sia online che offline.

Mathway

Mathway

Mathway è un'app molto utile che può aiutarti a risolvere tutti quei problemi di matematica che richiedono uno strumento più complesso della calcolatrice integrata nel tuo dispositivo.

Presentatore Adobe

Presentatore Adobe

Adobe Presenter è un software di e-Learning rilasciato da Adobe Systems disponibile sulla piattaforma Microsoft Windows come plug-in di Microsoft PowerPoint.

Tucano 2.3.0

Tucano 2.3.0

Toucan è una piattaforma tecnologica educativa. Ti consente di imparare una nuova lingua mentre navighi su siti Web comuni di tutti i giorni.

ENetViet 24.2

ENetViet 24.2

eNetViet è un'applicazione che aiuta a connettere i genitori con la scuola in cui studiano i loro figli in modo che possano comprendere chiaramente l'attuale situazione di apprendimento dei loro figli.

Duolingo

Duolingo

Duolingo - Impara le lingue gratis, o semplicemente Duolingo, è un programma educativo che ti permette di imparare e praticare molte lingue diverse.

Digitazione rapida

Digitazione rapida

RapidTyping è uno strumento di allenamento per la tastiera comodo e facile da usare che ti aiuterà a migliorare la velocità di digitazione e a ridurre gli errori di ortografia. Con lezioni organizzate per molti livelli diversi, RapidTyping ti insegnerà come digitare o migliorare le competenze esistenti.

MathType 7.4.10.53

MathType 7.4.10.53

MathType è un software di equazioni interattive dello sviluppatore Design Science (Dessci), che consente di creare e annotare notazioni matematiche per l'elaborazione di testi, presentazioni, eLearning, ecc. Questo editor viene utilizzato anche per creare documenti TeX, LaTeX e MathML.