Sai già che puoi usare le subroutine nelle tue macro. VBA ti consente anche di definire funzioni che possono essere utilizzate nelle tue macro. La differenza tra funzioni e subroutine è che le funzioni possono restituire valori, mentre le subroutine no. Considera le seguenti macro VBA:

Sub Macro1()

TooMany = TestFunc     If TooMany Then StatusBar = "Too many pages"

End Sub
Function TestFunc()

TestFunc = False     If Selection.Information(wdNumberOfPagesInDocument) > 10 Then        TestFunc = True     End If End Function

Ci sono due macro in questo codice. Uno è la funzione (TestFunc) e l’altro è una macro (Macro1) che viene utilizzata per richiamare la funzione. Quando la funzione viene eseguita, può fare tutto ciò che viene fatto in una normale macro. In questo caso, esegue un test che determina l’impostazione della variabile TestFunc su True o False. Notare che questo nome di variabile è lo stesso del nome della funzione. Questo è il valore restituito dalla funzione a qualsiasi programma lo abbia chiamato.

Il che ci porta alla macro Macro1. Notare che la macro TestFunc può essere visualizzata a destra del segno di uguale. Ciò rende le funzioni molto potenti e una parte importante di qualsiasi programma. VBA esegue la funzione e restituisce il valore appropriato da quella funzione e lo assegna alla variabile a sinistra del segno di uguale (TooMany). Il programma quindi agisce sul valore restituito.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (1535) si applica a Microsoft Word 97, 2000, 2002 e 2003. È possibile trovare una versione di questo suggerimento per l’interfaccia a nastro di Word (Word 2007 e più tardi) qui: