Scopri la codifica macro VBA con Word 2007

L'obiettivo di questo corso è aiutare le persone che non hanno mai scritto un programma prima di imparare a scriverne uno. Non vi è alcun motivo per cui impiegati, casalinghe, ingegneri professionisti e addetti alle consegne di pizze non dovrebbero essere in grado di sfruttare i propri programmi per computer personalizzati realizzati a mano per lavorare in modo più rapido e intelligente. Non dovrebbe essere necessario un "programmatore professionista" (qualunque cosa sia) per fare il lavoro. Sai cosa bisogna fare meglio di chiunque altro. Puoi farlo da solo!

(E lo dico come qualcuno che ha trascorso molti anni a scrivere programmi per altre persone ... "professionalmente".)

Detto questo, questo non è un corso su come usare un computer.

Questo corso presuppone che tu sappia come utilizzare i software più diffusi e, in particolare, che sul tuo computer sia installato Microsoft Word 2007. Dovresti conoscere le competenze informatiche di base come come creare cartelle di file (ovvero directory) e come spostare e copiare file. Ma se ti sei sempre chiesto cosa fosse effettivamente un programma per computer, va bene. Ti mostreremo.

Microsoft Office non è economico. Ma puoi ottenere più valore da quel costoso software che hai già installato. Questo è un grande motivo per cui utilizziamo Visual Basic, Applications Edition o VBA, insieme a Microsoft Office. Ci sono milioni che ce l'hanno e una manciata (forse nessuno) che usa tutto ciò che può fare.

Prima di andare oltre, tuttavia, devo spiegare un'altra cosa su VBA. Nel febbraio 2002, Microsoft ha fatto una scommessa di 300 miliardi di dollari su una base tecnologica completamente nuova per l'intera azienda. Lo chiamavano .NET. Da allora, Microsoft ha trasferito la propria intera base tecnologica in VB.NET. VBA è l'ultimo strumento di programmazione che utilizza ancora VB6, la tecnologia collaudata utilizzata prima di VB.NET. (Vedrai la frase "COM based" per descrivere questa tecnologia di livello VB6.)

VSTO e VBA

Microsoft ha creato un modo per scrivere programmi VB.NET per Office 2007. Si chiama Visual Studio Tools for Office (VSTO). Il problema con VSTO è che devi acquistare e imparare a usare Visual Studio Professional. Excel stesso è ancora basato su COM e i programmi .NET devono funzionare con Excel attraverso un'interfaccia (chiamata PIA, Primary Interop Assembly).

Quindi ... fino a quando Microsoft non metterà insieme le sue azioni e ti darà un modo per scrivere programmi che funzioneranno con Word e non ti faranno entrare nel reparto IT, le macro VBA sono ancora la strada da percorrere.

Un altro motivo per cui utilizziamo VBA è che si tratta davvero di un ambiente di sviluppo software 'completamente cotto' (non semi-cotto) che è stato utilizzato per anni dai programmatori per creare alcuni dei sistemi più sofisticati esistenti. Non importa quanto siano alti i tuoi obiettivi di programmazione. Visual Basic ha il potere di portarti lì.

Che cos'è una macro?

Potresti aver usato applicazioni desktop che supportano prima quello che viene chiamato un linguaggio macro. Le macro sono tradizionalmente solo script di azioni da tastiera raggruppate insieme con un nome in modo da poterle eseguire tutte in una volta. Se inizi sempre la giornata aprendo il documento "MyDiary", inserendo la data odierna e digitando le parole "Caro diario", perché non lasciare che il tuo computer lo faccia per te? Per essere coerente con altri software, Microsoft chiama VBA anche un linguaggio macro. Ma non lo è. È molto di più.

Molte applicazioni desktop includono uno strumento software che ti permetterà di registrare una macro "battitura". Nelle applicazioni Microsoft, questo strumento è chiamato Macro Recorder, ma il risultato non è una macro tradizionale. È un programma VBA e la differenza è che non riproduce semplicemente le sequenze di tasti. Un programma VBA ti dà lo stesso risultato finale, se possibile, ma puoi anche scrivere sistemi sofisticati in VBA che lasciano macerie semplici sulla tastiera. Ad esempio, è possibile utilizzare le funzioni di Excel in Word utilizzando VBA. E puoi integrare VBA con altri sistemi come database, web o altre applicazioni software.

Sebbene il VBA Macro Recorder sia molto utile per creare semplicemente semplici macro per tastiera, i programmatori hanno scoperto che è ancora più utile dare loro un avvio in esecuzione in programmi più sofisticati. Questo è quello che faremo.

Inizio Microsoft Word 2007 con un documento vuoto e preparati a scrivere un programma.

La scheda Sviluppatore in Word

Una delle prime cose che devi fare per scrivere il programma Visual Basic in Word 2007 è trova Visual Basic! L'impostazione predefinita in Word 2007 è di non visualizzare la barra multifunzione utilizzata. Per aggiungere il Sviluppatore scheda, fare prima clic su Ufficio pulsante (il logo nell'angolo in alto a sinistra) e quindi fare clic Opzioni di Word. Clic Mostra la scheda Sviluppatore nella barra multifunzione e quindi fare clic su ok.

Quando si fa clic su Sviluppatore scheda, hai un nuovo set di strumenti usati per scrivere programmi VBA. Useremo il VBA Macro Recorder per creare il tuo primo programma. (Se la barra multifunzione con tutti gli strumenti continua a scomparire, è possibile fare clic con il pulsante destro del mouse sulla barra multifunzione e accertarsi Ridurre a icona il nastro non è selezionato.)