Domanda

Sto cercando di eseguire una macro quando faccio doppio clic sulle forme di Visio.

Voglio passare l'oggetto shape alla macro VBA in modo da poter fare qualcosa nella macro a seconda dell'id dell'oggetto Shape.

È possibile passare il parametro alla macro VBA. Se sì, per favore fatemi sapere come?

Grazie.

È stato utile?

Soluzione

Puoi mettere la tua macro come evento EventDblClick sulle forme che vuoi guardare. A tale scopo, utilizzare la funzione CallThis ( http: / /msdn.microsoft.com/en-us/library/aa212649(office.11).aspx ) per richiamare la macro ogni volta che si fa doppio clic su una forma.

Ciò richiederebbe, tuttavia, che si modifichi il foglio di forme per ogni forma che si desidera guardare. Se stai fornendo i master per le forme che vuoi guardare, non dovrebbe essere un grosso problema, ma altrimenti dovresti scrivere codice che aggiungerà l'evento a ogni forma che vuoi guardare (anche se tu potrebbe utilizzare l'evento Document_ShapeAdded su un documento per aggiungere il tuo evento al foglio delle forme ogni volta che viene aggiunta una forma)

Altri suggerimenti

Quando fai clic su un oggetto, Selection cambia. Puoi utilizzare l'oggetto Selection nella tua macro per fare riferimento all'oggetto attualmente selezionato.

Non sono sicuro che una macro possa essere eseguita con un doppio clic, ma la mia esperienza VBA non proviene da Visio. Mentre un po 'di google si scopre che questo in qualche modo sembra essere possibile. Se lo metti come un pulsante su una barra dei comandi, con un po 'più di sforzo anche nel menu di scelta rapida, in ogni caso verrai limitato a una procedura secondaria senza parametri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top