• Inserire una forma in un oggetto di PowerPoint da VBA

    Potremmo aver bisogno di enfatizzare un particolare di una presentazione di PowerPoint con una freccia o un callout in maniera automatica e controllata da codice VBA. Vedremo oggi il metodo AddShape e il relativo frammento di codice che permette di inserire un oggetto Shape in un altro oggetto di una diapositiva.

    Il metodo AddShape è un metodo di tutti gli oggetti Shape di Office. Di conseguenza è disponibile in VBA per tutti gli oggetti Forma raggiungibili dal menu “Inserisci -> Forme”.

    AddShape ha il seguente prototipo:

    objForma.AddShape(TipoForma, Sinistra, Sopra, Larghezza, Altezza)

    dove objForma è un oggetto di tipo Shape.

    Vediamo il metodo all’azione: creiamo una nuova presentazione di PowerPoint, clicchiamo “Sviluppo” -> “Visualizza codice” e inseriamo un nuovo modulo (“Inserisci” -> “Modulo”) in cui scriviamo le seguenti righe di codice VBA:


    Sub FormaInSlide()
    ActivePresentation.Slides(1).Shapes.AddShape msoShapeRoundedRectangularCallout, 50, 50, 100, 50
    End Sub

    Adesso inseriamo nella diapositiva corrente un pulsante (“Sviluppo” -> “Controlli” -> “Pulsante di comando”) e nel suo codice inseriamo la riga di richiamo alla macro precedentemente creata:

    Call FormaInSlide()

    Adesso salviamo il tutto nel formato “.PPTM” e, ogni volta che cliccheremo il pulsante, verrà disegnato un callout rettangolare sulla prima slide delle dimensioni specificate.

    Una lista completa di forme inseribili tramite il metodo AddShape è disponibile al primo link fornito a inizio post.

    Tags:

    Se vuoi aggiornamenti su Inserire una forma in un oggetto di PowerPoint da VBA inserisci la tua e-mail nel box qui sotto:


    Ho letto e acconsento l'informativa sulla privacy

    Si No

    Acconsento al trattamento dei dati personali di cui al punto 3 dell'informativa sulla privacy

    Si No

    Commenta

    Your email address will not be published. Required fields are marked *