Siamo arrivati ad argomentare le Funzioni avanzate del linguaggio VBA.
In alcuni esempi, dove è stato spiegato l'uso del ciclo Do..Loop, implicitamente si è fatto cenno alle modalità di acquisizione e visualizzazioni delle informazioni. Stiamo parlando di:


| Costanti enumerative di MsgboxResult | Descrizione |
| VbAbort | Costante uguale al valore 3; viene utilizzata, quando nella finestra di dialogo MsgBox si utilizza la costante VbAbortRetryIgnore per l'argomento MsgBoxStyle |
| VbCancel | Costante uguale al valore 2; viene utilizzata, quando nella finestra di dialogo Msgbox si utilizza la costante VbOKCancel per l'argomento MsgboxStyle |
| VbIgnore | Costante uguale al valore 5; viene utilizzata, quando nella finestra di dialogo Msgbox si utilizza la costante VbAbortRetryIgnore per l'argomento MsgboxStyle |
| VbNo | Costante uguale al valore 7; viene utilizzata, quando nella finestra di dialogo Msgbox si utilizza la costante VbYesNo o VbYesNoCancel per l'argomento MsgboxStyle |
| VbOk | Costante uguale al valore 1; viene utilizzata, quando nella finestra di dialogo Msgbox si utilizza la costante VBOkOnly oppure VBOKCancel per l'argomento MsgBoxStyle |
| VbRetry | Costante uguale al valore 4; viene utilizza, quando nella finestra di dialogo Msgbox si utilizza la costante VbAbortRetryIgnore per l'argomento MsgboxStyle |
| VbYes | Costante uguale al valore 6; viene utilizzata, quando nella finestra di dialogo Msgbox si utilizza la costante VbYesNo oppure VbYesNoCancel per l'argomento MsgboxStyle |
Dim R as MsgboxResult
r=Msgbox("Vuoi continuare S/N:",VbYesNo,"Messaggio")
If r=VbYes Then
Msgbox("Hai deciso di continuare")
Else
Msgbox("Stai per uscire dall'applicazione")
End If
Le informazioni prima di essere visualizzate vanno acquisite e successivamente elaborate. L'istruzione che permette di acquisire informazioni da parte dell'utente è InputBox.
Public a As Integer
Public b as Integer
Function Addizione()
Addizione=A+b
End Function
Sub Main
Dim S as Integer
a=Inputbox("Valore di a=","Immetti A")
b=Inputbox("Valore di b=","Immetti B")
s=Addizione()
Msgbox("Risultato A+B" & s)
End Sub
Eseguiamo con il tasto F8 la routine Main:
Immettiamo il primo valore:




| Funzioni conversione | Tipo dato |
| Cbool | Boolean |
| Cbyte | Byte |
| CCur | Currency |
| CDate | Date |
| CDbl | Double |
| CDec | Decimal |
| CInt | Integer |
| CLng | Long |
| CSng | Single |
| CStr | String |
| CVar | Variant |
Dim s As String dim dato as Single s="Casa" dato=Csng(s)Queste righe di codice genereranno un errore durante l'esecuzione del codice:

Nella gestione di dati di tipo stringa, l'operazione applicata a questa tipologia di dato è denominata Manipolazione delle stringhe. Per manipolare le stringhe abbiamo un set di funzioni, catalogate nella classe STRINGS, della libreria VBA:

Una classe della libreria VBA è dedicata alla manipolazione delle date Un valore di tipo Date viene così memorizzato:
Dim miadata as Date d=#12/22/2006 17:36PM#Quando memorizza una data con le istruzioni di assegnazione, essa viene racchiusa da due cancelletti. Viene indicato prima il giorno e poi il mese, seguendo le notazioni standard dei paesi anglosassoni.
Ecco le funzioni che permettono la manipolazione delle date. Le presentiamo direttamente dal visualizzatore degli Oggetti (Tasto di funzione F2 all'interno dell'Editor VB).

Dim datasistema as Date datasistema=Date() Msgbox(datasistema)

Dim dataeorario as Date dataeorario=Now() msgbox(dataeorario)


| Componenti di una data | funzione VBA da usare |
| Mese | Month(data) |
| Anno | Year(data) |
| Giorno | Day(data) |
| Ore | Hour(data) |
| Minuti | Minute(data) |
| Secondi | Second(data) |
Dim datasistema As Date
Dim costante As Integer
Dim vettoregiorni(1 To 7) As String
vettoregiorni(1) = "Lunedì"
vettoregiorni(2) = "Martedì"
vettoregiorni(3) = "Mercoledì"
vettoregiorni(4) = "Giovedì"
vettoregiorni(5) = "Venerdì"
vettoregiorni(6) = "Sabato"
vettoregiorni(7) = "Domenica"
costante = Weekday(Date, vbUseSystemDayOfWeek)
Select Case costante
Case 1 To 7 : MsgBox ("Oggi è:" & vettoregiorni(costante))
End Select
Per chiudere l'argomento presentiamo la classe VBA Maths. Racchiude un set di funzioni, le quali ci permettono di manipolare i numeri.



Sub Main()
Dim numero As Integer
Dim stringa As String
numero = InputBox("Valore in base dieci:")
stringa = Hex(numero)
MsgBox ("rappresentazione esadecimale:" & stringa)
End Sub
| Corso MS Access Impara a creare e gestire database in maniera semplice e veloce. A partire da 39 €. | |
| Corso Visual Basic 6 Realizzare applicazioni Desktop con VB6. A partire da 39 €. |