Come posso aggiungere VBA in MS Office?


21

Ho visto post che mostrano risposte che utilizzano codice / macro VBA ( Visual Basic, Applications Edition), tuttavia, in seguito ho anche notato ulteriori commenti su come utilizzare il VBA (come implementarlo ed eseguirlo). Spero che questo aiuterà solo a ottenere il codice eseguito.

Quindi, la mia domanda è:

Ho del codice VBA. Come faccio ad aggiungere VBA al mio progetto MS Excel o Word o Outlook?


1
Sto tentando di creare una domanda canonica. Sentiti libero di aggiungere qualsiasi altra domanda a cui posso fare riferimento / possiamo chiudere, aggiungere tag o modificare la domanda o la risposta per migliorarla o pubblicare le risposte.
Dave,

Correlato: superuser.com/q/794590/346288 - semplice "kickstart" per il debug del codice VBA.
Hannu

Risposte:


19

Per aprire l'editor VBA in qualsiasi prodotto Microsoft Office 1 , premere Alt+ F11.

Successivamente, è necessario determinare come si desidera implementare il VBA. Vuoi che venga attivato da un evento nel software, come il file che viene salvato o la selezione sul foglio di calcolo che viene modificata? O vuoi essere in grado di eseguire il codice da solo quando vuoi?

Se il primo, dai un'occhiata a Esplora progetti e trova il progetto associato al file su cui stai attualmente lavorando.

Se si desidera che il codice venga attivato da un evento associato a un determinato foglio (ad esempio, il codice deve essere eseguito ogni volta che un valore cambia su Foglio1), è necessario fare doppio clic su quell'oggetto foglio specifico elencato in Esplora progetti. Si aprirà una casella di testo in cui è possibile incollare il codice. Se l'evento è associato all'intera cartella di lavoro anziché a un foglio particolare (ad esempio, il codice deve essere eseguito quando la cartella di lavoro viene salvata), fare doppio clic ThisWorkbooksull'oggetto in Esplora progetti.

Se tuttavia, non si desidera che il codice venga attivato da un evento, è necessario posizionare il codice in un modulo. Se c'è un altro codice nel documento o nella cartella di lavoro, diciamo da una macro registrata, apparirà in un modulo. Se esiste un modulo esistente, nella maggior parte dei casi dovrai incollare il codice nello stesso modulo sotto qualsiasi codice esistente. I moduli esistenti verranno elencati in Esplora progetti.

Se non esiste alcun modulo, sarà necessario inserirne uno nuovo. Per fare ciò, scegliere Moduledal Insertmenu a discesa nella finestra dell'editor VBA. Ciò inserirà un nuovo modulo e visualizzerà una finestra di testo all'interno della finestra dell'editor. Incolla il tuo codice lì.

Se si desidera eseguire il codice in un modulo, sono disponibili alcune opzioni. Uno è quello di eseguire il codice dalla finestra dell'editor VBA. Puoi semplicemente posizionare il cursore da qualche parte nel codice che desideri eseguire e premere F5, oppure fai clic sul pulsante Icona "play" - triangolo verde che punta verso destra(Esegui) nella barra degli strumenti sotto la barra dei menu, per eseguire il codice.

Un'altra opzione è utilizzare la Macrosfinestra di dialogo. Per aprirlo, effettuate una delle seguenti operazioni:

  • nella Viewscheda della barra multifunzione, nel Macrosriquadro (all'estrema destra), fare clic sul Macrospulsante
  • nella Developerscheda, nel Coderiquadro (all'estrema sinistra), fare clic sul Macrospulsante
  • premi Alt+F8

La finestra di dialogo è simile alla seguente:

inserisci qui la descrizione dell'immagine

Nell'esempio di cui sopra, è possibile eseguire YourCodeda

  • selezionandolo dall'elenco e quindi facendo clic su Run, o
  • selezionandolo dall'elenco e facendo doppio clic su di esso.

______
1 Secondo uso Posso VBA in Excel 2010 Starter Edition? , non è possibile utilizzare VBA in Excel 2010 Starter Edition.


4

Questi passaggi vengono eseguiti utilizzando Office 2010 (tranne dove diversamente indicato) ma dovrebbero essere abbastanza simili anche per il 2007 e il 2013. Lo sto facendo con Excel, ma le differenze dovrebbero essere sottili.

Il primo passo è quello di aggiungere la scheda Sviluppo al nastro.

In Office 2007,

  1. Fai clic su "Menu Office" -> " Opzioni (programma) ". ("Menu Office" si riferisce al Pulsante di ufficiopulsante nell'angolo in alto a sinistra.) Questo fa apparire un menu che ha un pulsante "Opzioni di Excel", "Opzioni di Word", ecc., In basso.

  2. Nella finestra di dialogo delle opzioni, selezionare "Mostra scheda Sviluppo nella barra multifunzione": Menu Office e fare clic su "OK".

  3. La tua nuova scheda "Sviluppatore" dovrebbe essere visualizzata.

In Office 2010 e il 2013,

  1. Clicca File -> Opzioni .

  2. Scegli Personalizzazione barra multifunzione .

  3. Sul lato destro, trova Developer e seleziona la casella. Clicca OK .

  4. Dovrebbe essere visualizzata la nuova scheda, fare clic su di essa e quindi fare clic su Visual Basic .

Viene visualizzata una schermata scoraggiante, che è la finestra di modifica del codice VBA.

Nota a margine : puoi anche aprire la finestra di modifica del codice VBA usando la scorciatoia da tastiera Alt+ F11(anche se la scheda Sviluppatore non viene visualizzata).

All'interno della finestra di modifica del codice, sul lato sinistro dovresti avere un riquadro chiamato Project-VBAProject. In questo, sotto gli oggetti di Microsoft Excel (questo nome è diverso a seconda del programma (Word, Outlook, ecc.) Che stai utilizzando) è una "cosa" chiamata ThisWorkbook. Fare doppio clic su questo manuale

In questo esempio, useremo il seguente codice.

sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 

Tutto ciò che fa è mostrare una finestra di dialogo per mostrare un messaggio sullo schermo.

Copiare il codice e incollarlo nel foglio bianco nella finestra di modifica del codice VBA.

Ora, nella parte superiore della finestra dell'editor di codice VBA, fare clic sul pulsante di riproduzione verde e si dovrebbe vedere un messaggio.

Quindi, ogni volta che vuoi eseguire il codice, torna a questa schermata e premi play!

Tuttavia, potresti preferire aggiungere il tuo pulsante. Se vuoi aggiungere un pulsante, per prima cosa, nota che ha la prima riga del codice WarnMeOfDanger(). Questo è in realtà il nome della nostra " subroutine ". Ricorderemo questo per dopo. Ora chiudi semplicemente la finestra che stai utilizzando (il codice viene automaticamente salvato).

Sempre nella barra degli strumenti Developer, fai clic su Inserisci e scegli il primo elemento, che è un pulsante. Il cursore del mouse diventa una piccola croce (non arrabbiato, intendo il suo aspetto). Disegnare la dimensione del pulsante. Viene visualizzata una nuova finestra che dovrebbe mostrarci l'opzione di assegnare il pulsante a una funzione. In questo caso, dovremmo vedere qualcosa di simile ThisWorkbook.WarnMeOfDanger. Fare clic su questo e fare clic su OK .

Ora, se premi il tuo nuovo pulsante, il messaggio mostrerà. Fare clic con il tasto destro del mouse per ottenere le opzioni per spostarlo, modificare il testo, ridimensionare ecc.


Domanda e risposta della stessa persona? Strano .......
Prasanna

2
@Prasanna, quando si chiede una domanda, si ha la possibilità di rispondere immediatamente. Ricordate, è un sito di Q & A, in modo fintanto che è rilevante e utile, penso che sia accettata. Ce ne sono alcuni in giro.
Dave

Fino ad ora non lo sapevo. Grazie per l'informazione
Prasanna,

2
È possibile sostituire i primi diversi passaggi per accedere alla finestra di codice con un semplice "Alt + F11". :)
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007, sentitevi liberi di modificare via :) 1
Dave
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.