2012-11-26 8 views
5

Sto provando a scrivere una macro vba che può essere richiamata in modalità di modifica in PowerPoint 2007-2010.Chiamare una macro da un pulsante in modalità modifica mentre si è in PowerPoint

Posso facilmente aggiungere un pulsante di comando a una presentazione. Tuttavia, è possibile fare clic su questo pulsante per attivare la macro vba mentre si è in modalità presentazione.

Tuttavia, ciò che mi piacerebbe fare è avere questo pulsante per attivare la macro vba associata mentre si è in modalità di modifica. Cliccando su di esso in modalità modifica mi permette di cambiare la sua dimensione, ecc, ma non chiama la macro.

In Excel, d'altra parte, ottengo esattamente il comportamento previsto quando inserisco un pulsante -> facendo clic su di esso si chiama l'azione vba.

Quindi, come posso creare un pulsante (o un altro elemento che agisce allo stesso modo) che richiama una macro vba durante la visualizzazione di modifica in PowerPoint. L'unico modo in cui riesco a pensare è l'uso di un'azione a nastro, tuttavia in questo caso non è pratico, poiché la macro modificherà una forma associata al pulsante e potrebbero esserci diverse di queste forme per diapositiva che dovrebbero avere ciascuna la propria pulsante.

+0

Quale versione di PPT stai utilizzando? –

+0

Attualmente in funzione con 2007-2010. Non ho intenzione di andare più indietro, ma se si tratta di un trucco che continuerà a funzionare in futuro sarebbe fantastico. –

risposta

0

L'unico modo che posso pensare è utilizzando un'azione nastro, tuttavia questo è poco pratico in questo caso, poiché la macro modificherà una forma che è associato al pulsante e ci potrebbe essere più di queste forme per diapositiva che dovrebbe avere il proprio pulsante.

seconda di cosa si sta cercando di fare, un pulsante della barra multifunzione che lancia una macro potrebbe essere molto pratico. La macro potrebbe operare sulla selezione corrente (e testare la selezione corrente per assicurarsi che sia qualcosa di appropriato).

With ActiveWindow.Selection.ShapeRange 
    ' operate on the currently selected shapes 
End with 
+0

Suppongo che sarebbe un modo intelligente di lavorare dal nastro. Ma spero davvero che ci sia un altro modo che non si basa sul nastro. –