VBScript - Guida rapida

VBScript sta per Visual BScripting asic che forma un sottoinsieme di Visual Basic for Applications (VBA). VBA è un prodotto Microsoft che è incluso NON solo in altri prodotti Microsoft come MS Project e MS Office, ma anche in strumenti di terze parti come AUTO CAD.

Caratteristiche di VBScript

  • VBScript è un linguaggio di scripting leggero, dotato di un interprete velocissimo.

  • VBScript, per la maggior parte, non fa distinzione tra maiuscole e minuscole. Ha una sintassi molto semplice, facile da imparare e da implementare.

  • A differenza di C ++ o Java, VBScript è un linguaggio di scripting basato su oggetti e NON un linguaggio di programmazione orientato agli oggetti.

  • Utilizza Component Object Model (COM) per accedere agli elementi dell'ambiente in cui è in esecuzione.

  • L'esecuzione corretta di VBScript può avvenire solo se viene eseguita in un ambiente host come Internet Explorer (IE), Internet Information Services (IIS) e Windows Scripting Host (WSH)

VBscript - Cronologia delle versioni e usi

VBScript è stato introdotto da Microsoft nel lontano 1996 e la sua prima versione era la 1.0. L'attuale versione stabile di VBScript è la 5.8, disponibile come parte di IE8 o Windows 7. Le aree di utilizzo di VBScript sono abbondanti e non limitate all'elenco seguente.

  • VBScript viene utilizzato come linguaggio di scripting in uno dei popolari strumenti di test di automazione: Quick Test Professional abbreviato in QTP

  • Windows Scripting Host, utilizzato principalmente dagli amministratori di sistema di Windows per automatizzare il desktop di Windows.

  • Pagine server attive (ASP), un ambiente di scripting lato server per la creazione di pagine web dinamiche che utilizza VBScript o Java Script.

  • VBScript viene utilizzato per lo scripting lato client in Microsoft Internet Explorer.

  • I moduli di Microsoft Outlook di solito vengono eseguiti su VBScript; tuttavia, la programmazione a livello di applicazione si basa su VBA (Outlook 2000 in poi).

Svantaggi

  • VBscript viene utilizzato solo dai browser IE. Altri browser come Chrome, Firefox DONOT supportano VBScript. Quindi, JavaScript è preferito a VBScript.

  • VBScript ha un supporto della riga di comando limitato.

  • Poiché non è disponibile un ambiente di sviluppo per impostazione predefinita, il debug è difficile.

Dov'è oggi VBScript?

La versione corrente di VBScript è la 5.8 e, con il recente sviluppo di .NET framework, Microsoft ha deciso di fornire il supporto futuro di VBScript all'interno di ASP.NET per lo sviluppo web. Quindi, NON ci saranno più nuove versioni del motore VBScript, ma il team tecnico di supporto di Microsoft risolverà tutte le correzioni di errori e problemi di sicurezza. Tuttavia, il motore VBScript verrà fornito come parte di tutti i Microsoft Windows e IIS per impostazione predefinita.

Il tuo primo VBScript

Scriviamo un VBScript per stampare "Hello World".

<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         document.write("Hello World!")
      </script>
   </body>
</html>

Nell'esempio sopra, abbiamo chiamato una funzione document.write , che scrive una stringa nel documento HTML. Questa funzione può essere utilizzata per scrivere testo, HTML o entrambi. Quindi, il codice sopra mostrerà il seguente risultato:

Hello World!

Spazi vuoti e interruzioni di riga

VBScript ignora gli spazi, le tabulazioni e le nuove righe che compaiono nei programmi VBScript. È possibile utilizzare spazi, tabulazioni e nuove righe all'interno del programma, così si è liberi di formattare e indentare i propri programmi in un modo ordinato e coerente che renda il codice facile da leggere e comprendere.

Formattazione

VBScript è basato su Visual Basic di Microsoft. A differenza di JavaScript, nessun terminatore di istruzioni come il punto e virgola viene utilizzato per terminare una determinata istruzione.

Sintassi a riga singola

I due punti vengono utilizzati quando due o più righe di VBScript devono essere scritte in una singola riga. Quindi, in VBScript, i due punti fungono da separatore di riga.

<script language = "vbscript" type = "text/vbscript">
   var1 = 10 : var2 = 20
</script>

Sintassi a più righe

Quando un'istruzione in VBScript è lunga e se l'utente desidera suddividerla in più righe, deve utilizzare il carattere di sottolineatura "_". Ciò migliora la leggibilità del codice. L'esempio seguente illustra come lavorare con più righe.

<script language = "vbscript" type = "text/vbscript">
   var1 = 10 
   var2 = 20
   Sum = var1 + var2  
   document.write("The Sum of two numbers"&_"var1 and var2 is " & Sum)
</script>

Parole riservate

Il seguente elenco mostra le parole riservate in VBScript. Queste parole riservate NON DOVREBBERO essere usate come una costante o una variabile o qualsiasi altro nome identificativo.

Ciclo continuo LSet Me
Mod Nuovo Il prossimo
Non Niente Nullo
Sopra Opzione Opzionale
O ParamArray Conserva
Privato Pubblico RaiseEvent
ReDim Rem Curriculum vitae
RSet Selezionare Impostato
Condivisa Single Statico
Fermare Sub Poi
Per Vero genere
E Come Booleano
ByRef Byte ByVal
Chiamata Astuccio Classe
Cost Moneta Debug
Dim Fare Doppio
Ogni Altro ElseIf
Vuoto Fine Finisci se
Enum Eqv Evento
Uscita Falso Per
Funzione Ottenere Vai a
Se Imp Implementa
In Numero intero È
Permettere Piace Lungo
Tipo di Fino a Variante
Wend Mentre Con
Xor Eval Eseguire
Msgbox Cancellare ExecuteGlobal
Opzione esplicita Rendi casuale SendKeys

Maiuscole / minuscole

VBScript è un file case-insensitive language. Ciò significa che le parole chiave della lingua, le variabili, i nomi delle funzioni e qualsiasi altro identificatore NON devono essere digitati con lettere maiuscole coerenti. Quindi gli identificatori int_counter, INT_Counter e INT_COUNTER hanno lo stesso significato all'interno di VBScript.

Commenti in VBScript

I commenti vengono utilizzati per documentare la logica del programma e le informazioni utente con cui altri programmatori possono lavorare senza problemi sullo stesso codice in futuro. Può includere informazioni sviluppate da, modificate da e può anche includere logica incorporata. I commenti vengono ignorati dall'interprete durante l'esecuzione. I commenti in VBScript sono indicati con due metodi.

1. Any statement that starts with a Single Quote (‘) is treated as comment.

Di seguito è riportato l'esempio:

<script language = "vbscript" type = "text/vbscript">
   <!—
      ' This Script is invoked after successful login
      ' Written by : TutorialsPoint
      ' Return Value : True / False
   //- >
</script>

2. Any statement that starts with the keyword “REM”.

Di seguito è riportato l'esempio:

<script language = "vbscript" type = "text/vbscript">
   <!—
      REM This Script is written to Validate the Entered Input
      REM Modified by  : Tutorials point/user2
   //- >
</script>

Non tutti i browser moderni supportano VBScript. VBScript è supportato solo da Internet Explorer di Microsoft mentre altri browser (Firefox e Chrome) supportano solo JavaScript. Quindi, gli sviluppatori normalmente preferiscono JavaScript su VBScript.

Sebbene Internet Explorer (IE) supporti VBScript, potrebbe essere necessario abilitare o disabilitare questa funzione manualmente. Questo tutorial ti renderà consapevole della procedura per abilitare e disabilitare il supporto VBScript in Internet Explorer.

VBScript in Internet Explorer

Ecco alcuni semplici passaggi per attivare o disattivare VBScript in Internet Explorer:

  • Segui Strumenti → Opzioni Internet dal menu

  • Seleziona la scheda Protezione dalla finestra di dialogo

  • Fare clic sul pulsante Livello personalizzato

  • Scorri verso il basso fino a trovare l'opzione Scripting

  • Seleziona Abilita pulsante di opzione in Esecuzione script attivo

  • Infine fare clic su OK e uscire

Per disabilitare il supporto VBScript in Internet Explorer, è necessario selezionare il pulsante di opzione Disabilita sottoActive scripting.

Posizionamento VBScript nel file HTML

È disponibile la flessibilità per includere codice VBScript ovunque in un documento HTML. Ma il modo più preferito per includere VBScript nel tuo file HTML è il seguente:

  • Script nella sezione <head> ... </head>.

  • Script nella sezione <body> ... </body>.

  • Script nelle sezioni <body> ... </body> e <head> ... </head>.

  • Script in un file esterno e quindi includilo nella sezione <head> ... </head>.

Nella sezione seguente, vedremo come possiamo mettere VBScript in modi diversi:

VBScript nella sezione <head> ... </head>

Se vuoi che uno script venga eseguito su un evento, come quando un utente fa clic da qualche parte, posizionerai quello script nella testa come segue:

<html>
   <head>
      <script type = "text/Vbscript">
         <!--
            Function sayHello() 
               Msgbox("Hello World")
            End Function
         //-->
      </script>
   </head>
   
   <body>
      <input type = "button" onclick = "sayHello()" value = "Say Hello" />
   </body>
</html>

Produrrà il seguente risultato: un pulsante con il nome SayHello. Facendo clic sul pulsante, all'utente viene visualizzata la finestra di messaggio con il messaggio "Hello World".

VBScript nella sezione <body> ... </body>

Se hai bisogno di uno script da eseguire durante il caricamento della pagina in modo che lo script generi contenuto nella pagina, lo script va nella parte <body> del documento. In questo caso, non avresti alcuna funzione definita utilizzando VBScript -

<html>
   <head> </head>
   <body>
      <script type = "text/vbscript">
         <!--
            document.write("Hello World")
         //-->
      </script>
      <p>This is web page body </p>
   </body>
</html>

Questo produrrà il seguente risultato:

Hello World
This is web page body

VBScript nelle sezioni <body> e <head>

Puoi inserire il tuo codice VBScript nelle sezioni <head> e <body> come segue:

<html>
   <head>
      <script type = "text/vbscript">
         <!--
            Function sayHello() 
               msgbox("Hello World")
            End Function
         //-->
      </script>
   </head>
   
   <body>
      <script type = "text/vbscript">
         <!--
         document.write("Hello World")
         //-->
      </script>
      <input type = "button" onclick = "sayHello()" value = "Say Hello" />
   </body>
</html>

Produrrà il seguente risultato: messaggio Hello World con un pulsante "Say Hello". Dopo aver fatto clic sul pulsante, all'utente viene visualizzata una finestra di messaggio con il messaggio "Hello World".

Hello World 

VBScript nel file esterno

Quando inizi a lavorare in modo più approfondito con VBScript, probabilmente scoprirai che ci sono casi in cui stai riutilizzando codice VBScript identico su più pagine di un sito. Non sei limitato a mantenere un codice identico in più file HTML.

Il tag script fornisce un meccanismo per consentire di memorizzare VBScript in un file esterno e quindi includerlo nei file HTML. Di seguito è riportato un esempio per mostrare come includere un file VBScript esterno nel codice HTML utilizzando il tag script e il suo attributo src :

<html>
   <head>
      <script type = "text/vbscript" src = "filename.vbs" ></script>
   </head>
   <body>
      .......
   </body>
</html>

Per utilizzare VBScript da un'origine file esterna, è necessario scrivere tutto il codice sorgente VBScript in un semplice file di testo con estensione ".vbs" e quindi includere quel file come mostrato sopra. Ad esempio, puoi mantenere il seguente contenuto nel file filename.vbs e quindi puoi usare la funzione sayHello nel tuo file HTML dopo aver incluso il file filename.vbs.

Function sayHello()
   Msgbox "Hello World"
End Function

Posizionamento di VBScript in QTP

VBScript è inserito nello strumento QTP (Quick Test Professional) ma NON è racchiuso tra tag HTML. Il file di script viene salvato con l'estensione .vbs e viene eseguito dal motore di esecuzione di Quick Test Professional.

Variabili VBScript

Una variabile è una posizione di memoria denominata utilizzata per contenere un valore che può essere modificato durante l'esecuzione dello script. VBScript ha soloONE tipo di dati fondamentale, Variant.

Rules for Declaring Variables −

  • Il nome della variabile deve iniziare con un alfabeto.

  • I nomi delle variabili non possono superare i 255 caratteri.

  • Le variabili NON devono contenere un punto (.)

  • I nomi delle variabili dovrebbero essere univoci nel contesto dichiarato.

Dichiarazione di variabili

Le variabili vengono dichiarate utilizzando la parola chiave "dim". Poiché esiste un solo tipo di dati fondamentale, tutte le variabili dichiarate sono varianti per impostazione predefinita. Quindi, un utenteNEED NOT menzionare il tipo di dati durante la dichiarazione.

Example 1 - In questo esempio, IntValue può essere utilizzato come String, Integer o anche come array.

Dim Var

Example 2 - Due o più dichiarazioni sono separate da virgola (,)

Dim Variable1,Variable2

Assegnazione di valori alle variabili

I valori vengono assegnati in modo simile a un'espressione algebrica. Il nome della variabile sul lato sinistro seguito da un simbolo uguale a (=) e quindi il suo valore sul lato destro.

Regole

  • I valori numerici devono essere dichiarati senza virgolette doppie.

  • I valori della stringa devono essere racchiusi tra virgolette doppie (")

  • Le variabili di data e ora devono essere racchiuse all'interno del simbolo cancelletto (#)

Esempi

' Below Example, The value 25 is assigned to the variable.
Value1 = 25

' A String Value ‘VBScript’ is assigned to the variable StrValue.
StrValue = “VBScript”

' The date 01/01/2020 is assigned to the variable DToday.
Date1 = #01/01/2020#

' A Specific Time Stamp is assigned to a variable in the below example.
Time1 = #12:30:44 PM#

Ambito delle variabili

Le variabili possono essere dichiarate utilizzando le seguenti istruzioni che determinano l'ambito della variabile. L'ambito della variabile gioca un ruolo cruciale quando viene utilizzato all'interno di una procedura o di classi.

  • Dim
  • Public
  • Private

Dim

Le variabili dichiarate utilizzando la parola chiave "Dim" a livello di procedura sono disponibili solo all'interno della stessa procedura. Le variabili dichiarate utilizzando la parola chiave "Dim" a livello di script sono disponibili per tutte le procedure all'interno dello stesso script.

Example - Nell'esempio seguente, il valore di Var1 e Var2 è dichiarato a livello di script mentre Var3 è dichiarato a livello di procedura.

Note- Lo scopo di questo capitolo è comprendere le variabili. Le funzioni saranno trattate in dettaglio nei prossimi capitoli.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim Var1
         Dim Var2
         
         Call add()
         Function add()
            Var1 = 10
            Var2 = 15
            Dim Var3
            Var3 = Var1 + Var2
            Msgbox Var3 'Displays 25, the sum of two values.
         End Function

         Msgbox Var1   ' Displays 10 as Var1 is declared at Script level
         Msgbox Var2   ' Displays 15 as Var2 is declared at Script level
         Msgbox Var3   ' Var3 has No Scope outside the procedure. Prints Empty
      </script>
   </body>
</html>

Pubblico

Le variabili dichiarate utilizzando la parola chiave "pubblica" sono disponibili per tutte le procedure in tutti gli script associati. Quando si dichiara una variabile di tipo "public", la parola chiave Dim viene sostituita da "Public".

Example - Nell'esempio seguente, Var1 e Var2 sono disponibili a livello di script mentre Var3 è disponibile tra gli script e le procedure associati poiché è dichiarato come Pubblico.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim Var1
         Dim Var2
         Public Var3

         Call add()

         Function add()
            Var1 = 10
            Var2 = 15
            Var3 = Var1+Var2
            Msgbox Var3 'Displays 25, the sum of two values.
         End Function

         Msgbox Var1   ' Displays 10 as Var1 is declared at Script level
         Msgbox Var2   ' Displays 15 as Var2 is declared at Script level
         Msgbox Var3   ' Displays 25 as Var3 is declared as Public 

      </script>
   </body>
</html>

Privato

Le variabili dichiarate come "Private" hanno ambito solo all'interno dello script in cui sono dichiarate. Quando si dichiara una variabile di tipo "Private", la parola chiave Dim viene sostituita da "Private".

Example- Nell'esempio seguente, Var1 e Var2 sono disponibili a livello di script. Var3 è dichiarato privato ed è disponibile solo per questo particolare script. L'uso di variabili "private" è più pronunciato all'interno della classe.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim Var1
         Dim Var2
         Private Var3

         Call add()
         Function add()
            Var1 = 10
            Var2 = 15
            Var3 = Var1+Var2
            Msgbox Var3 'Displays the sum of two values.
         End Function

         Msgbox Var1   ' Displays 10 as Var1 is declared at Script level
         Msgbox Var2   ' Displays 15 as Var2 is declared at Script level
         Msgbox Var3   ' Displays 25 but Var3 is available only for this script.
      </script>
   </body>
</html>

La costante è una posizione di memoria denominata utilizzata per contenere un valore che NON PU essere modificato durante l'esecuzione dello script. Se un utente tenta di modificare un valore costante, l'esecuzione dello script termina con un errore. Le costanti vengono dichiarate nello stesso modo in cui vengono dichiarate le variabili.

Dichiarare le costanti

Sintassi

[Public | Private] Const Constant_Name = Value

La costante può essere di tipo Pubblico o Privato. L'uso di pubblico o privato è facoltativo. Le costanti pubbliche sono disponibili per tutti gli script e le procedure mentre le costanti private sono disponibili all'interno della procedura o della classe. È possibile assegnare qualsiasi valore come numero, stringa o data alla costante dichiarata.

Esempio 1

In questo esempio, il valore di pi greco è 3,4 e visualizza l'area del cerchio in una finestra di messaggio.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim intRadius
         intRadius = 20
         const pi = 3.14
         Area = pi*intRadius*intRadius
         Msgbox Area

      </script>
   </body>
</html>

Esempio 2

L'esempio seguente illustra come assegnare una stringa e un valore di data a una costante.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Const myString = "VBScript"
         Const myDate = #01/01/2050#
         Msgbox myString
         Msgbox myDate

      </script>
   </body>
</html>

Esempio 3

Nell'esempio seguente, l'utente tenta di modificare il valore costante; quindi, finirà con un fileExecution Error.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim intRadius
         intRadius = 20
         const pi = 3.14
         pi = pi*pi	'pi VALUE CANNOT BE CHANGED.THROWS ERROR'
         Area = pi*intRadius*intRadius
         Msgbox Area
         
      </script>
   </body>
</html>

Cos'è un operatore?

Prendiamo un'espressione 4 + 5 è uguale a 9 . Qui vengono chiamati 4 e 5operands e + è chiamato operator. Il linguaggio VBScript supporta i seguenti tipi di operatori:

  • Operatori aritmetici
  • Operatori di confronto
  • Operatori logici (o relazionali)
  • Operatori di concatenazione

Gli operatori aritmetici

VBScript supporta i seguenti operatori aritmetici:

Supponiamo che la variabile A contenga 5 e la variabile B contenga 10, quindi -

Mostra esempi

Operatore Descrizione Esempio
+ Aggiunge due operandi A + B darà 15
- Sottrae il secondo operando dal primo A - B darà -5
* Moltiplica entrambi gli operandi A * B darà 50
/ Dividi numeratore per denumeratore B / A darà 2
% Operatore modulo e resto di dopo una divisione intera B MOD A darà 0
^ Operatore di esponenziazione B ^ A darà 100000

Per comprendere meglio questi operatori, puoi provare tu stesso .

Gli operatori di confronto

Sono disponibili i seguenti operatori di confronto supportati dal linguaggio VBScript:

Supponiamo che la variabile A contenga 10 e la variabile B ne contenga 20, quindi -

Mostra esempi

Operatore Descrizione Esempio
= Controlla se il valore di due operandi è uguale o meno, in caso affermativo la condizione diventa vera. (A == B) è False.
<> Controlla se il valore di due operandi è uguale o meno, se i valori non sono uguali la condizione diventa vera. (A <> B) è vero.
> Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> B) è False.
< Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <B) è vero.
> = Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> = B) è False.
<= Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <= B) è vero.

Per comprendere meglio questi operatori, puoi provare tu stesso .

Gli operatori logici

Ci sono i seguenti operatori logici supportati dal linguaggio VBScript:

Supponiamo che la variabile A contenga 10 e la variabile B contenga 0, quindi -

Mostra esempi

Operatore Descrizione Esempio
E Chiamato operatore AND logico. Se entrambe le condizioni sono True, allora Expression diventa True. a <> 0 AND b <> 0 è False.
O Chiamato Operatore OR logico. Se una delle due condizioni è vera, la condizione diventa vera. a <> 0 OPPURE b <> 0 è vero.
NON Chiamato operatore NOT logico. Inverte lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. NOT (a <> 0 OR b <> 0) è falso.
XOR Chiamata esclusione logica. È la combinazione di NOT e OR Operator. Se una, e solo una, delle espressioni restituisce True, il risultato è True. (a <> 0 XOR b <> 0) è vero.

Per comprendere meglio questi operatori, puoi provare tu stesso .

Gli operatori di concatenazione

Sono disponibili i seguenti operatori di concatenazione supportati dal linguaggio VBScript:

Supponiamo che la variabile A contenga 5 e la variabile B contenga 10, quindi -

Mostra esempi

Operatore Descrizione Esempio
+ Aggiunge due valori poiché i valori delle variabili sono numerici A + B darà 15
& Concatena due valori A & B darà 510

Assumi la variabile A = "Microsoft" e la variabile B = "VBScript", quindi -

Operatore Descrizione Esempio
+ Concatena due valori A + B darà MicrosoftVBScript
& Concatena due valori A & B darà MicrosoftVBScript

Note- Gli operatori di concatenazione possono essere utilizzati per numeri e stringhe. L'output dipende dal contesto se le variabili contengono un valore numerico o un valore stringa.

Per comprendere meglio questi operatori, puoi provare tu stesso .

Il processo decisionale consente ai programmatori di controllare il flusso di esecuzione di uno script o di una delle sue sezioni. L'esecuzione è regolata da una o più istruzioni condizionali.

Di seguito è riportata la forma generale di una tipica struttura decisionale presente nella maggior parte dei linguaggi di programmazione:

VBScript fornisce i seguenti tipi di istruzioni per il processo decisionale.

Dichiarazione Descrizione
istruzione if Un if L'istruzione consiste in un'espressione booleana seguita da una o più istruzioni.
if..else istruzione Un if elseL'istruzione consiste in un'espressione booleana seguita da una o più istruzioni. Se la condizione è True, le dichiarazioni sottoIfvengono eseguite le istruzioni. Se la condizione è falsa, il fileElse parte dello script viene eseguito
if ... elseif..else istruzione Un if dichiarazione seguita da una o più ElseIf Dichiarazioni, che consiste in espressioni booleane e quindi seguita da un'istruzione else opzionale, che viene eseguita quando tutte le condizioni diventano false.
istruzioni if ​​annidate Un if o elseif dichiarazione dentro un'altra if o elseif dichiarazione (i).
istruzione switch UN switch consente di verificare l'uguaglianza di una variabile rispetto a un elenco di valori.

Potrebbe esserci una situazione in cui è necessario eseguire un blocco di codice più volte. In generale, le istruzioni vengono eseguite in sequenza: la prima istruzione in una funzione viene eseguita per prima, seguita dalla seconda e così via.

I linguaggi di programmazione forniscono varie strutture di controllo che consentono percorsi di esecuzione più complicati. Un'istruzione loop ci consente di eseguire un'istruzione o un gruppo di istruzioni più volte e la seguente è la descrizione generale di un'istruzione loop in VBScript.

VBScript fornisce i seguenti tipi di loop per gestire i requisiti di loop. Fare clic sui seguenti collegamenti per verificarne i dettagli.

Tipo di loop Descrizione
per loop Esegue una sequenza di istruzioni più volte e abbrevia il codice che gestisce la variabile del ciclo.
per ..ogni ciclo Viene eseguito se c'è almeno un elemento nel gruppo e reiterato per ogni elemento in un gruppo.
while..wend loop Verifica la condizione prima di eseguire il corpo del ciclo.
do.. while loop Le istruzioni do..While verranno eseguite fintanto che la condizione è True. (Cioè,) Il ciclo dovrebbe essere ripetuto fino a quando la condizione è False.
fare..fino a loop Le istruzioni do..Until verranno eseguite fintanto che la condizione è False. (Cioè,) Il ciclo dovrebbe essere ripetuto fino a quando la condizione è True.

Dichiarazioni di controllo del loop

Le istruzioni di controllo del ciclo cambiano l'esecuzione dalla sua sequenza normale. Quando l'esecuzione esce da un ambito, tutte le istruzioni rimanenti nel ciclo NON vengono eseguite.

VBScript supporta le seguenti istruzioni di controllo. Fare clic sui seguenti collegamenti per verificarne i dettagli.

Dichiarazione di controllo Descrizione
Esci per istruzione Termina il For loop istruzione e trasferisce l'esecuzione all'istruzione immediatamente successiva al ciclo
Esci dall'istruzione Do Termina il Do While istruzione e trasferisce l'esecuzione all'istruzione immediatamente successiva al ciclo

Cos'è un evento?

L'interazione di VBScript con HTML viene gestita tramite eventi che si verificano quando l'utente o il browser manipola una pagina. Quando la pagina viene caricata, questo è un evento. Quando l'utente fa clic su un pulsante, anche quel clic è un evento. Altri esempi di eventi includono la pressione di un tasto qualsiasi, la chiusura della finestra, il ridimensionamento della finestra, ecc. Gli sviluppatori possono utilizzare questi eventi per eseguire risposte codificate VBScript, che causano la chiusura delle finestre dei pulsanti, la visualizzazione dei messaggi agli utenti, la convalida dei dati e virtualmente qualsiasi altro tipo di risposta immaginabile che si verifichi.

Gli eventi fanno parte del DOM (Document Object Model) e ogni elemento HTML ha un certo insieme di eventi, che possono attivare il codice VBScript. Segui questo piccolo tutorial per una migliore comprensione del riferimento agli eventi HTML . Qui, vedremo alcuni esempi per capire una relazione tra Event e VBScript.

fare clic su Tipo di evento

Questo è il tipo di evento più utilizzato, che si verifica quando un utente fa clic con il pulsante sinistro del mouse. Puoi mettere la tua convalida, avvertimento, ecc. Su questo tipo di evento.

Esempio

<html>
   <head>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello() 
            msgbox "Hello World"
         End Function
      </script>
   </head>
   
   <body>
      <input type = "button" onclick = "sayHello()" value = "Say Hello"/>
   </body>
</html>

Produrrà il seguente risultato e quando fai clic sul pulsante Hello, si verificherà l'evento onclick che attiverà la funzione sayHello ().

tipo di evento onsubmit

Un altro tipo di evento più importante è onsubmit . Questo evento si verifica quando si tenta di inviare un modulo. Quindi puoi mettere la convalida del tuo modulo contro questo tipo di evento. Il modulo viene inviato facendo clic sul pulsante Invia, viene visualizzata la finestra di messaggio.

Il modulo viene inviato facendo clic sul pulsante Invia, viene visualizzata la finestra di messaggio.

Esempio

<html>
   <head> </head>
   <body>
      <script language = "VBScript">       
         Function fnSubmit()
            Msgbox("Hello Tutorialspoint.Com")
         End Function       
      </script>
      
      <form action = "/cgi-bin/test.cgi" method = "post" name = "form1" onSubmit = "fnSubmit()">
         <input name = "txt1" type = "text"><br>
         <input name = "btnButton1" type = "submit" value="Submit">
      </form>
   </body>
</html>

onmouseover e onmouseout

Questi due tipi di eventi ti aiuteranno a creare effetti piacevoli con le immagini o anche con il testo. L' evento onmouseover si verifica quando si porta il mouse su un elemento e onmouseout si verifica quando si estrae il mouse da quell'elemento.

Esempio

<html>
   <head> </head>
   <body>
      <script language = "VBScript">       
         Function AlertMsg
            Msgbox("ALERT !")
         End Function
          
         Function onmourse_over()
            Msgbox("Onmouse Over")
         End Function

         Sub txt2_OnMouseOut()
            Msgbox("Onmouse Out !!!")
         End Sub
          
         Sub btnButton_OnMouseOut()
            Msgbox("onmouse out on Button !")
         End Sub
      </script>
      
      <form action = "page.cgi" method = "post" name = "form1">
         <input name = "txt1" type = "text" OnMouseOut = "AlertMsg()"><br>
         <input name = "txt2" type = "text" OnMouseOver = "onmourse_over()">
         <br><input name = "btnButton" type = "button" value = "Submit">
      </form>
   </body>
</html>

Produrrà un risultato quando si passa il mouse sulla casella di testo e anche quando si sposta il focus lontano dalla casella di testo e dal pulsante.

Eventi standard HTML 4

Gli eventi HTML 4 standard sono elencati qui per riferimento. In questo caso, lo script indica una funzione VBScript da eseguire su quell'evento.

Evento Valore Descrizione
onchange script Lo script viene eseguito quando l'elemento cambia
onsubmit script Lo script viene eseguito quando il modulo viene inviato
onreset script Lo script viene eseguito quando il modulo viene reimpostato
sfocato script Lo script viene eseguito quando l'elemento perde il focus
onfocus script Script runs when the element gets focus
onkeydown script Script runs when key is pressed
onkeypress script Script runs when key is pressed and released
onkeyup script Script runs when key is released
onclick script Script runs when a mouse click
ondblclick script Script runs when a mouse double-click
onmousedown script Script runs when mouse button is pressed
onmousemove script Script runs when mouse pointer moves
onmouseout script Script runs when mouse pointer moves out of an element
onmouseover script Script runs when mouse pointer moves over an element
onmouseup script Script runs when mouse button is released

What are Cookies?

Web Browsers and Servers use HTTP protocol to communicate and HTTP is a stateless protocol. But for a commercial website, it is required to maintain session information among different pages. For example, one user registration ends after completing many pages. But how to maintain user's session information across all the web pages. In many situations, using cookies is the most efficient method of remembering and tracking preferences, purchases, commissions and other information required for better visitor experience or site statistics.

How It Works?

Your server sends some data to the visitor's browser in the form of a cookie. The browser may accept the cookie. If it does, it is stored as a plain text record on the visitor's hard drive. Now, when the visitor arrives at another page on your site, the browser sends the same cookie to the server for retrieval. Once retrieved, your server knows/remembers what was stored earlier. Cookies are a plain text data record of 5 variable-length fields −

  • Expires − The date the cookie will expire. If this is blank, the cookie will expire when the visitor quits the browser.

  • Domain − The domain name of your site.

  • Path − The path to the directory or web page that set the cookie. This may be blank if you want to retrieve the cookie from any directory or page.

  • Secure − If this field contains the word "secure", then the cookie may only be retrieved with a secure server. If this field is blank, no such restriction exists.

  • Name=Value − Cookies are set and retrieved in the form of key and value pairs.

Cookies were originally designed for CGI programming and cookies' data is automatically transmitted between the web browser and web server, so CGI scripts on the server can read and write cookie values that are stored on the client.

VBScript can also manipulate cookies using the cookie property of the Document object. VBScript can read, create, modify and delete the cookie or cookies that apply to the current web page.

Storing Cookies

The simplest way to create a cookie is to assign a string value to the document.cookie object, which looks like this −

Syntax

document.cookie = "key1 = value1;key2 = value2;expires = date"

Here expires attribute is optional. If you provide this attribute with a valid date or time, then cookie will expire at the given date or time and after that cookies' value will not be accessible.

Example

Following is the example to set a customer name in input cookie.

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie
            If document.myform.customer.value = "" Then
               msgbox "Enter some value!"
            Else
               cookievalue = (document.myform.customer.value)
               document.cookie = "name = " + cookievalue
               msgbox "Setting Cookies : " & "name = " & cookievalue
            End If
         End Function
      </script>
   </head>
   
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

It will produce the following result. Now enter something in the textbox and press the button "Set Cookie" to set the cookies.

Now, your system has a cookie called name. You can set multiple cookies using multiple key = value pairs separated by comma. You will learn how to read this cookie in next section.

Reading Cookies

Reading a cookie is just as simple as writing one, because the value of the document.cookie object is the cookie. So, you can use this string whenever you want to access the cookie. The document.cookie string will keep a list of name = value pairs separated by semicolons where name is the name of a cookie and value is its string value. You can use strings' split() function to break the string into key and values as follows −

Example

Following is the example to get the cookies set in the previous section −

<html>
   <head>
      <script type = "text/vbscript">
         Function ReadCookie
            allcookies = document.cookie
            msgbox "All Cookies : " + allcookies
            cookiearray = split(allcookies,";")
            
            For i = 0 to ubound(cookiearray)
               Name  = Split(cookiearray(i),"=")
               Msgbox "Key is : " + Name(0) + " and Value is : " + Name(1)
            Next
         End Function
      </script>
   </head>
   
   <body>
      <form name = "myform" action = "">
         <input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>
      </form>
   </body>
</html>

Note − Here, UBound is a method of Array class, which returns the length of an array. We will discuss Arrays in a separate chapter; until that time, please try to digest it.

It will produce the following result. Now, press the button "Get Cookie" to see the cookies, which you have set in previous section.

Note − There may be some other cookies already set on your machine. So, above code will show you all the cookies set at your machine.

Setting the Cookies Expiration Date

You can extend the life of a cookie beyond the current browser session by setting an expiration date and saving the expiration date within the cookie. This can be done by setting the expires attribute to a date and time.

Example

The following example illustrates how to set cookie expiration date after 1 Month −

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie()
            x = now()
            y = dateadd("m",1,now())  ' Making it to expire next 
            cookievalue = document.myform.customer.value
            document.cookie = "name = "  & cookievalue
            document.cookie = "expires = " & y
            msgbox("Setting Cookies : " & "name=" & cookievalue )
         End Function
      </script>
   </head>
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

Deleting a Cookie

Sometimes, you will want to delete a cookie so that subsequent attempts to read the cookie return nothing. To do this, you just need to set the expiration date to a time in the past.

Example

The following example illustrates how to delete a cookie by setting its expiration date 1 Month in the past −

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie()
            x = now()
            x = now()
            a = Month(x)-1
            b = day(x)
            c = year(x)
            d = DateSerial(c,a,b)
            e = hour(x) 
            
            msgbox e
            f = minute(x)
            
            msgbox f
            d = cdate(d & " " & e & ":" & f)
            
            msgbox d
            cookievalue = document.myform.customer.value
            document.cookie = "name = "  & cookievalue
            document.cookie = "expires = " & d
            msgbox("Setting Cookies : " & "name=" & cookievalue )
         End Function
      </script>
   </head>
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

Number functions help the developers to handle numbers in an efficient way and also helps them to convert their subtypes. It also helps them to make use of the inbuilt mathematical functions associated with VBScript.

Number Conversion Functions

Number functions help us to convert a given number from one data subtype to another data subtype.

Show Examples

Sr.No Function & Description
1

CDbl

A Function, which converts a given number of any variant subtype to double

2

CInt

A Function, which converts a given number of any variant subtype to Integer

3

CLng

A Function, which converts a given number of any variant subtype to Long

4

CSng

A Function, which converts a given number of any variant subtype to Single

5

Hex

A Function, which converts a given number of any variant subtype to Hexadecimal

Number Formatting Functions

The Number formatting functions help the developers to express the given number in a format that they wish to.

Show Examples

Sr.No Function & Description
1

FormatNumber

A Function, which would return an expression formatted as a number

2

FormatPercent

A Function, which would return an expression formatted as a percentage

Mathematical Functions

Mathematical Functions help us to evaluate the mathematical and trigonometrical functions of a given input number.

Show Examples

Sr.No Function & Description
1

Int

A Function, which returns the integer part of the given number

2

Fix

A Function, which returns the integer part of the given number

3

Log

A Function, which returns the natural logarithm of the given number. Negative numbers disallowed

4

Oct

A Function, which returns the Octal value of the given percentage

5

Hex

A Function, which returns the Hexadecimal value of the given number

6

Rnd

A Function, which returns a random number between 0 and 1

7

Sgn

A Function, which returns a number corresponding to the sign of the specified number

8

Sqr

A Function, which returns the square root of the given number. Negative numbers disallowed

9

Abs

A Function, which returns the absolute value of the given number

10

Exp

A Function, which returns the value of e raised to the specified number

11

Sin

A Function, which returns sine value of the given number

12

Cos

A Function, which returns cosine value of the given number

13

Tan

A Function, which returns tan value of the given number

Le stringhe sono una sequenza di caratteri, che può essere costituita da alfabeti o numeri o caratteri speciali o tutti. Si dice che una variabile sia una stringa se è racchiusa tra virgolette doppie "".

Sintassi

variablename = "string"

Esempi

str1 = "string"   ' Only Alphabets
str2 = "132.45"   ' Only Numbers
str3 = "!@#$;*"   ' Only Special Characters
Str4 = "Asc23@#"  ' Has all the above

Funzioni stringa

Sono disponibili funzioni String VBScript predefinite, che aiutano gli sviluppatori a lavorare con le stringhe in modo molto efficace. Di seguito sono riportati i metodi String supportati in VBScript. Fare clic su ciascuno dei metodi per conoscere in dettaglio.

Nome funzione Descrizione
InStr Restituisce la prima occorrenza della sottostringa specificata. La ricerca avviene da sinistra a destra.
InstrRev Restituisce la prima occorrenza della sottostringa specificata. La ricerca avviene da destra a sinistra.
Lcase Restituisce il minuscolo della stringa specificata.
Ucase Restituisce il maiuscolo della stringa specificata.
Sinistra Restituisce un numero specifico di caratteri dal lato sinistro della stringa.
Destra Restituisce un numero specifico di caratteri dal lato destro della stringa.
Mid Restituisce un numero specifico di caratteri da una stringa in base ai parametri specificati.
Ltrim Restituisce una stringa dopo aver rimosso gli spazi sul lato sinistro della stringa specificata.
Rtrim Restituisce una stringa dopo aver rimosso gli spazi sul lato destro della stringa specificata.
Trim Restituisce un valore stringa dopo aver rimosso gli spazi vuoti iniziali e finali.
Len Restituisce la lunghezza della stringa data.
Sostituire Restituisce una stringa dopo aver sostituito una stringa con un'altra stringa.
Spazio Riempie una stringa con il numero di spazi specificato.
StrComp Restituisce un valore intero dopo aver confrontato le due stringhe specificate.
Corda Restituisce una stringa con un carattere specificato il numero di volte specificato.
StrReverse Restituisce una stringa dopo aver invertito la sequenza dei caratteri della stringa data.

Cos'è un array?

Sappiamo molto bene che una variabile è un contenitore per memorizzare un valore. A volte, gli sviluppatori sono in grado di contenere più di un valore in una singola variabile alla volta. Quando una serie di valori viene archiviata in una singola variabile, è nota comearray variable.

Dichiarazione di matrice

Gli array vengono dichiarati nello stesso modo in cui è stata dichiarata una variabile, tranne per il fatto che la dichiarazione di una variabile array utilizza le parentesi. Nell'esempio seguente, la dimensione dell'array è menzionata tra parentesi.

'Method 1 : Using Dim
Dim arr1() 'Without Size

'Method 2 : Mentioning the Size
Dim arr2(5) 'Declared with size of 5

'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")
  • Sebbene la dimensione dell'array sia indicata come 5, può contenere 6 valori poiché l'indice dell'array inizia da ZERO.

  • L'indice dell'array non può essere negativo.

  • Gli array VBScript possono memorizzare qualsiasi tipo di variabile in un array. Quindi, un array può memorizzare un numero intero, una stringa o caratteri in una singola variabile di array.

Assegnazione di valori a un array

I valori vengono assegnati all'array specificando il valore dell'indice dell'array rispetto a ciascuno dei valori da assegnare. Può essere una stringa.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim arr(5)
         arr(0) = "1"            'Number as String
         arr(1) = "VBScript"     'String
         arr(2) = 100            'Number
         arr(3) = 2.45           'Decimal Number
         arr(4) = #10/07/2013#   'Date
         arr(5) = #12.45 PM#     'Time

         document.write("Value stored in Array index 0 : " & arr(0) & "<br />")
         document.write("Value stored in Array index 1 : " & arr(1) & "<br />")
         document.write("Value stored in Array index 2 : " & arr(2) & "<br />")
         document.write("Value stored in Array index 3 : " & arr(3) & "<br />")
         document.write("Value stored in Array index 4 : " & arr(4) & "<br />")
         document.write("Value stored in Array index 5 : " & arr(5) & "<br />")

      </script>
   </body>
</html>

Quando il codice sopra viene salvato come .HTML ed eseguito in Internet Explorer, produce il seguente risultato:

Value stored in Array index 0 : 1
Value stored in Array index 1 : VBScript
Value stored in Array index 2 : 100
Value stored in Array index 3 : 2.45
Value stored in Array index 4 : 7/10/2013
Value stored in Array index 5 : 12:45:00 PM

Array multidimensionali

Gli array non sono limitati solo a una dimensione singola e possono avere un massimo di 60 dimensioni. Gli array bidimensionali sono quelli più comunemente usati.

Esempio

Nell'esempio seguente, una matrice multidimensionale viene dichiarata con 3 righe e 4 colonne.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim arr(2,3)	' Which has 3 rows and 4 columns
         arr(0,0) = "Apple" 
         arr(0,1) = "Orange"
         arr(0,2) = "Grapes"           
         arr(0,3) = "pineapple" 
         
         arr(1,0) = "cucumber"           
         arr(1,1) = "beans"           
         arr(1,2) = "carrot"           
         arr(1,3) = "tomato"    
         
         arr(2,0) = "potato"             
         arr(2,1) = "sandwitch"            
         arr(2,2) = "coffee"             
         arr(2,3) = "nuts"            
                  
         document.write("Value in Array index 0,1 : " &  arr(0,1) & "<br />")
         document.write("Value in Array index 2,2 : " &  arr(2,2) & "<br />")

      </script>
   </body>
</html>

Quando il codice sopra viene salvato come .HTML ed eseguito in Internet Explorer, produce il seguente risultato:

Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee

Dichiarazione Redim

L'istruzione ReDim viene utilizzata per dichiarare le variabili di matrice dinamica e allocare o riallocare lo spazio di archiviazione.

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
  • Preserve - Un parametro facoltativo utilizzato per preservare i dati in un array esistente quando si modifica la dimensione dell'ultima dimensione.

  • varname - Un parametro obbligatorio, che denota il nome della variabile, che dovrebbe seguire le convenzioni di denominazione delle variabili standard.

  • subscripts - Un parametro obbligatorio, che indica la dimensione dell'array.

Esempio

Nell'esempio seguente, un array è stato ridefinito e quindi conservato i valori quando la dimensione esistente dell'array viene modificata.

Note - Dopo aver ridimensionato un array più piccolo di quello che era originariamente, i dati negli elementi eliminati andranno persi.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim a()
         i = 0
         redim a(5)
         a(0) = "XYZ"
         a(1) = 41.25
         a(2) = 22
           
         REDIM PRESERVE a(7)
         For i = 3 to 7
         a(i) = i
         Next
           
         'to Fetch the output
         For i = 0 to ubound(a)
            Msgbox a(i)
         Next
      </script>
   </body>
</html>

Quando salviamo lo script sopra come HTML e lo eseguiamo in Internet Explorer, produce il seguente risultato.

XYZ
41.25
22
3
4
5
6
7

Metodi di matrice

Ci sono varie funzioni integrate in VBScript che aiutano gli sviluppatori a gestire gli array in modo efficace. Di seguito sono elencati tutti i metodi utilizzati insieme agli array. Fare clic sul nome del metodo per conoscerlo in dettaglio.

Funzione Descrizione
LBound Una funzione, che restituisce un numero intero che corrisponde al più piccolo indice degli array dati.
UBound Una funzione, che restituisce un numero intero che corrisponde all'indice più grande degli array dati.
Diviso Una funzione, che restituisce una matrice che contiene un numero specificato di valori. Diviso in base a un delimitatore.
Aderire Una funzione, che restituisce una stringa che contiene un numero specificato di sottostringhe in una matrice. Questa è una funzione esattamente opposta del metodo Split.
Filtro Una funzione, che restituisce una matrice in base zero che contiene un sottoinsieme di una matrice di stringhe in base a criteri di filtro specifici.
IsArray Una funzione, che restituisce un valore booleano che indica se la variabile di input è o meno un array.
Cancellare Una funzione, che recupera la memoria allocata per le variabili dell'array.

Le funzioni di data e ora di VBScript aiutano gli sviluppatori a convertire la data e l'ora da un formato a un altro o ad esprimere il valore della data o dell'ora nel formato che si adatta a una condizione specifica.

Funzioni di data

Funzione Descrizione
Data Una funzione, che restituisce la data di sistema corrente
CDate Una funzione, che converte un dato input in Date
DateAdd Una funzione, che restituisce una data alla quale è stato aggiunto un intervallo di tempo specificato
DateDiff Una funzione, che restituisce la differenza tra due periodi di tempo
DatePart Una funzione, che restituisce una parte specificata del valore della data di input specificato
DateSerial Una funzione, che restituisce una data valida per l'anno, il mese e la data specificati
FormatDateTime Una funzione, che formatta la data in base ai parametri forniti
IsDate Una funzione, che restituisce un valore booleano indipendentemente dal fatto che il parametro fornito sia o meno una data
Giorno Una funzione, che restituisce un numero intero compreso tra 1 e 31 che rappresenta il giorno della Data specificata
Mese Una funzione, che restituisce un numero intero compreso tra 1 e 12 che rappresenta il mese della Data specificata
Anno Una funzione, che restituisce un numero intero che rappresenta l'anno della Data specificata
MonthName Una funzione, che restituisce il nome del mese specifico per la data specificata
WeekDay Una funzione, che restituisce un numero intero (da 1 a 7) che rappresenta il giorno della settimana per il giorno specificato.
WeekDayName Una funzione, che restituisce il nome del giorno della settimana per il giorno specificato.

Funzioni temporali

Funzione Descrizione
Adesso Una funzione, che restituisce la data e l'ora correnti del sistema
Ora Una funzione, che restituisce un numero intero compreso tra 0 e 23 che rappresenta la parte dell'ora del tempo specificato
Minuto Una funzione, che restituisce un numero intero compreso tra 0 e 59 che rappresenta la parte dei minuti del tempo specificato
Secondo Una funzione, che restituisce un numero intero compreso tra 0 e 59 che rappresenta la parte dei secondi del tempo specificato
Tempo Una funzione, che restituisce l'ora di sistema corrente
Timer Una funzione, che restituisce il numero di secondi e millisecondi a partire dalla mezzanotte
TimeSerial Una funzione, che restituisce l'ora per l'immissione specifica di ora, minuti e secondi
TimeValue Una funzione, che converte la stringa di input in un formato ora

Cos'è una funzione?

Una funzione è un gruppo di codice riutilizzabile che può essere chiamato ovunque nel programma. Ciò elimina la necessità di scrivere lo stesso codice più e più volte. Ciò consentirà ai programmatori di dividere un grande programma in un numero di funzioni piccole e gestibili. Oltre alle funzioni integrate, VBScript ci consente di scrivere anche funzioni definite dall'utente. Questa sezione ti spiegherà come scrivere le tue funzioni in VBScript.

Definizione di funzione

Prima di utilizzare una funzione, dobbiamo definire quella particolare funzione. Il modo più comune per definire una funzione in VBScript è usare la parola chiave Function, seguita da un nome di funzione univoco e può o non può contenere un elenco di parametri e un'istruzione con unEnd Function parola chiave, che indica la fine della funzione.

La sintassi di base è mostrata di seguito:

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function Functionname(parameter-list)
            statement 1
            statement 2
            statement 3
            .......
            statement n
         End Function

      </script>
   </body>
</html>

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello()
            msgbox("Hello there")
         End Function

      </script>
   </body>
</html>

Chiamare una funzione

Per richiamare una funzione da qualche parte in un secondo momento nello script, dovresti semplicemente scrivere il nome di quella funzione con l'estensione Call parola chiave.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello()
            msgbox("Hello there")
         End Function

         Call sayHello()
        
      </script>
   </body>
</html>

Parametri di funzione

Fino ad ora, abbiamo visto la funzione senza un parametro, ma c'è la possibilità di passare parametri diversi durante la chiamata di una funzione. Questi parametri passati possono essere catturati all'interno della funzione e qualsiasi manipolazione può essere eseguita su quei parametri. Le funzioni vengono chiamate utilizzando ilCall Parola chiave.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello(name, age)
            msgbox( name & " is " & age & " years old.")
         End Function

         Call sayHello("Tutorials point", 7)

      </script>
   </body>
</html>

Restituzione di un valore da una funzione

Una funzione VBScript può avere un'istruzione return facoltativa. Ciò è necessario se si desidera restituire un valore da una funzione. Ad esempio, puoi passare due numeri in una funzione e quindi puoi aspettarti che la funzione restituisca la loro moltiplicazione nel programma chiamante.

NOTE - Una funzione può restituire più valori separati da virgola come un array assegnato al nome della funzione stessa.

Esempio

Questa funzione accetta due parametri e li concatena e restituisce il risultato nel programma chiamante. In VBScript, i valori vengono restituiti da una funzione utilizzando il nome della funzione. Nel caso in cui si desideri restituire due o più valori, il nome della funzione viene restituito con un array di valori. Nel programma chiamante, il risultato viene memorizzato nella variabile risultato.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function concatenate(first, last)
            Dim full
            full = first & last
            concatenate = full  'Returning the result to the function name itself
         End Function

      </script>
   </body>
</html>

Ora possiamo chiamare questa funzione come segue:

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function concatenate(first, last)
            Dim full
            full = first & last
            concatenate = full  'Returning the result to the function name itself
         End Function
         ' Here is the usage of returning value from  function. 
         dim result
            result = concatenate("Zara", "Ali")
        msgbox(result)
      </script>
   </body>
</html>

Sottoprocedure

Le sotto-procedure sono simili alle funzioni ma ci sono poche differenze.

  • Sottoprocedure DONOT Restituisce un valore mentre le funzioni possono o non possono restituire un valore.

  • Sottoprocedure Possono essere chiamate senza parola chiave di chiamata.

  • Le sottoprocedure sono sempre racchiuse all'interno Sub e End Sub dichiarazioni.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Sub sayHello()
            msgbox("Hello there")
         End Sub

      </script>
   </body>
</html>

Procedure di chiamata

Per richiamare una procedura in un punto successivo dello script, è sufficiente scrivere il nome di quella procedura con o senza l'estensione Call parola chiave.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Sub sayHello()
            msgbox("Hello there")
         End Sub
         sayHello()

      </script>
   </body>
</html>

Concetti avanzati per le funzioni

C'è molto da imparare sulle funzioni VBScript. Possiamo passare il parametro per valore o per riferimento. Fare clic su ciascuno di essi per saperne di più.

  • ByVal- Passa i parametri per valore

  • ByRef- Passa i parametri per riferimento

Cos'è una finestra di dialogo?

VBScript consente agli sviluppatori di interagire con l'utente in modo efficace. Può essere una finestra di messaggio per visualizzare un messaggio a un utente o una casella di input con la quale l'utente può inserire i valori.

Funzione VBScript MsgBox

La funzione MsgBox visualizza una finestra di messaggio e attende che l'utente faccia clic su un pulsante, quindi viene eseguita un'azione in base al pulsante selezionato dall'utente.

Sintassi

MsgBox(prompt[,buttons][,title][,helpfile,context])

Descrizione dei parametri

  • Prompt- Un parametro obbligatorio. Una stringa visualizzata come messaggio nella finestra di dialogo. La lunghezza massima del prompt è di circa 1024 caratteri. Se il messaggio si estende a più di una riga, è possibile separare le righe utilizzando un carattere di ritorno a capo (Chr (13)) o un carattere di avanzamento riga (Chr (10)) tra ciascuna riga.

  • buttons- Un parametro facoltativo. Un'espressione numerica che specifica il tipo di pulsanti da visualizzare, lo stile dell'icona da utilizzare, l'identità del pulsante predefinito e la modalità della finestra di messaggio. Se lasciato vuoto, il valore predefinito per i pulsanti è 0.

  • Title- Un parametro facoltativo. Un'espressione String visualizzata nella barra del titolo della finestra di dialogo. Se il titolo viene lasciato vuoto, il nome dell'applicazione viene inserito nella barra del titolo.

  • helpfile- Un parametro facoltativo. Un'espressione String che identifica il file della Guida da utilizzare per fornire la guida sensibile al contesto per la finestra di dialogo.

  • context- Un parametro facoltativo. Un'espressione numerica che identifica il numero di contesto della Guida assegnato dall'autore della Guida all'argomento della Guida appropriato. Se viene fornito il contesto, è necessario fornire anche il file di aiuto.

Il Buttons il parametro può assumere uno dei seguenti valori:

  • 0 vbOKOnly Visualizza solo il pulsante OK.

  • 1 vbOKCancel Visualizza i pulsanti OK e Annulla.

  • 2 vbAbortRetryIgnore Visualizza i pulsanti Interrompi, Riprova e Ignora.

  • 3 vbYesNoCancel Visualizza i pulsanti Sì, No e Annulla.

  • 4 vbYesNo Visualizza i pulsanti Sì e No.

  • 5 vbRetryCancel Visualizza i pulsanti Riprova e Annulla.

  • 16 vbCritical Visualizza l'icona di messaggio critico.

  • 32 vbQuestion Visualizza l'icona Query di avviso.

  • 48 vbExclamation Visualizza l'icona del messaggio di avviso.

  • 64 vbInformation Visualizza l'icona del messaggio informativo.

  • 0 vbDefaultButton1 Il primo pulsante è l'impostazione predefinita.

  • 256 vbDefaultButton2 Il secondo pulsante è l'impostazione predefinita.

  • 512 vbDefaultButton3 Il terzo pulsante è l'impostazione predefinita.

  • 768 vbDefaultButton4 Il quarto pulsante è l'impostazione predefinita.

  • 0 vbApplicationModal Applicazione modale. L'applicazione corrente non funzionerà finché l'utente non risponde alla finestra di messaggio.

  • 4096 vbSystemModal Sistema modale. Tutte le applicazioni non funzioneranno finché l'utente non risponde alla finestra di messaggio.

I valori di cui sopra sono logicamente suddivisi in quattro gruppi: Il primo gruppo (da 0 a 5) indica i pulsanti da visualizzare nella finestra di messaggio. Il secondo gruppo (16, 32, 48, 64) descrive il tipo di icona da visualizzare, il terzo gruppo (0, 256, 512, 768) indica quale pulsante deve essere quello predefinito e il quarto gruppo (0, 4096 ) determina la modalità della finestra di messaggio.

Valori restituiti

La funzione MsgBox può restituire uno dei seguenti valori:

  • 1 - vbOK - È stato fatto clic su OK

  • 2 - vbCancel - È stato fatto clic su Annulla

  • 3 - vbAbort - È stato fatto clic su Abort

  • 4 - vbRetry - È stato fatto clic su Riprova

  • 5 - vbIgnore - Ignora è stato selezionato

  • 6 - vb Sì - È stato fatto clic su Sì

  • 7 - vbNo - No è ​​stato cliccato

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         'Message Box with just prompt message
         MsgBox("Welcome")    
           
         'Message Box with title, yes no and cancel Butttons 
         a = MsgBox("Do you like blue color?",3,"Choose options")
         ' Assume that you press No Button	
         document.write("The Value of a is " & a)
         
      </script>
   </body>
</html>

Quando viene eseguito lo script precedente, viene visualizzata la finestra di messaggio e se si preme Nessun pulsante, il valore di a è 7.

The Value of a is 7

Funzione InputBox di VBScript

La funzione InputBox aiuta l'utente a ottenere i valori dall'utente. Dopo aver inserito i valori, se l'utente fa clic sul pulsante OK o preme INVIO sulla tastiera, la funzione InputBox restituirà il testo nella casella di testo. Se l'utente fa clic sul pulsante Annulla, la funzione restituirà una stringa vuota ("").

Sintassi

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

Descrizione dei parametri

  • Prompt- Un parametro obbligatorio. Una stringa visualizzata come messaggio nella finestra di dialogo. La lunghezza massima del prompt è di circa 1024 caratteri. Se il messaggio si estende a più di una riga, è possibile separare le righe utilizzando un carattere di ritorno a capo (Chr (13)) o un carattere di avanzamento riga (Chr (10)) tra ciascuna riga.

  • Title- Un parametro facoltativo. Un'espressione String visualizzata nella barra del titolo della finestra di dialogo. Se il titolo viene lasciato vuoto, il nome dell'applicazione viene inserito nella barra del titolo.

  • Default- Un parametro facoltativo. Un testo predefinito nella casella di testo che l'utente desidera venga visualizzato.

  • XPos- Un parametro facoltativo. La posizione dell'asse X che rappresenta la distanza del prompt dal lato sinistro dello schermo in orizzontale. Se lasciato vuoto, la casella di immissione è centrata orizzontalmente.

  • YPos- Un parametro facoltativo. La posizione dell'asse Y che rappresenta verticalmente la distanza del prompt dal lato sinistro dello schermo. Se lasciato vuoto, la casella di immissione è centrata verticalmente.

  • helpfile- Un parametro facoltativo. Un'espressione String che identifica il file della Guida da utilizzare per fornire la Guida sensibile al contesto per la finestra di dialogo.

  • context- Un parametro facoltativo. Un'espressione numerica che identifica il numero di contesto della Guida assegnato dall'autore della Guida all'argomento della Guida appropriato. Se viene fornito il contesto, è necessario fornire anche il file di aiuto.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         ' Input Box with only Prompt
         InputBox("Enter a number")    
        
         ' Input Box with a Title
         a = InputBox("Enter a Number","Enter Value")
         msgbox a
        
         ' Input Box with a Prompt,Title and Default value
         a = InputBox("Enter a Number","Enter Value",123)
         msgbox a
        
         ' Input Box with a Prompt,Title,Default and XPos
         a = InputBox("Enter your name","Enter Value",123,700)
         msgbox a
        
         ' Input Box with a Prompt,Title and Default and YPos
         a = InputBox("Enter your name","Enter Value",123,,500)
         msgbox a
         
      </script>
   </body>
</html>

Quando lo script precedente viene eseguito, la casella di input viene visualizzata e mostra il valore immesso dall'utente.

Cos'è un oggetto

Gli oggetti runtime di VBScript ci aiutano a svolgere varie attività. Questa sezione ti aiuterà a capire come creare un'istanza di un oggetto e lavorarci sopra.

Sintassi

Per poter lavorare con gli oggetti senza problemi, dobbiamo dichiarare l'oggetto e istanziarlo usando Set Parola chiave.

Dim objectname    'Declare the object name
Set objectname = CreateObject(object_type)

Esempio

Nell'esempio seguente, stiamo creando un oggetto di tipo Scripting.Dictionary.

Dim obj  
Set obj = CreateObject("Scripting.Dictionary")

Distruggere gli oggetti

Il significato di distruggere l'oggetto è liberare la memoria e resettare la variabile oggetto.

Sintassi

Per distruggere gli oggetti, dobbiamo usare Set Parola chiave seguita dal nome dell'oggetto e puntarla a Nothing.

Set objectname = Nothing 'Destroy the object.

Esempio

Nell'esempio seguente, stiamo creando un oggetto di tipo Scripting.Dictionary.

Dim obj  
Set obj = CreateObject("Scripting.Dictionary")
Set obj = Nothing.

Utilizzo degli oggetti

Fare clic su ciascuno dei tipi di oggetti forniti per saperne di più.

Tipo di oggetto Descrizione
Classe Class è un contenitore, che contiene metodi e variabili ad esso associati e vi si accede creando un oggetto di Type Class.
Scripting.FileSystemObject È il gruppo di oggetti con cui possiamo lavorare con il file system.
Scripting.Dizionario Un gruppo di oggetti, utilizzati per creare gli oggetti dizionario.
Debug Un oggetto globale con il quale possiamo inviare l'output al debugger di script Microsoft.

Le espressioni regolari sono una sequenza di caratteri che forma un modello, utilizzato principalmente per la ricerca e la sostituzione. Lo scopo della creazione di un pattern è quello di abbinare stringhe specifiche, in modo che lo sviluppatore possa estrarre i caratteri in base alle condizioni e sostituire determinati caratteri.

Oggetto RegExp

L'oggetto RegExp aiuta gli sviluppatori a far corrispondere il modello di stringhe e le proprietà e i metodi ci aiutano a lavorare facilmente con le espressioni regolari. È simile a RegExp in JavaScript

Proprietà

  • Pattern - Il metodo Pattern rappresenta una stringa che viene utilizzata per definire l'espressione regolare e deve essere impostato prima di utilizzare l'oggetto espressione regolare.

  • IgnoreCase- Una proprietà booleana che rappresenta se l'espressione regolare deve essere verificata rispetto a tutte le possibili corrispondenze in una stringa se vera o falsa. Se non specificato in modo esplicito, il valore IgnoreCase è impostato su False.

  • Global- Una proprietà booleana che rappresenta se l'espressione regolare deve essere verificata rispetto a tutte le possibili corrispondenze in una stringa. Se non specificato in modo esplicito, il valore globale è impostato su False.

Metodi

  • Test(stringa di ricerca) - Il metodo Test accetta una stringa come argomento e restituisce True se l'espressione regolare può essere confrontata correttamente con la stringa, altrimenti viene restituito False.

  • Replace(stringa di ricerca, stringa di sostituzione) - Il metodo di sostituzione accetta 2 parametri. Se la ricerca ha esito positivo, sostituisce quella corrispondenza con la stringa di sostituzione e viene restituita la nuova stringa. Se non ci sono corrispondenze, viene restituita la stringa di ricerca originale.

  • Execute(stringa di ricerca) - Il metodo Execute funziona come Replace, tranne per il fatto che restituisce un oggetto della raccolta Matches, contenente un oggetto Match per ogni corrispondenza riuscita. Non modifica la stringa originale.

Corrisponde all'oggetto della raccolta

L'oggetto della raccolta Matches viene restituito come risultato del metodo Execute. Questo oggetto di raccolta può contenere zero o più oggetti Match e le proprietà di questo oggetto sono di sola lettura.

  • Count - Il metodo Count rappresenta il numero di oggetti match nella raccolta.

  • Item - Il metodo Item consente di accedere agli oggetti match dall'oggetto collezioni di corrispondenze.

Abbina oggetto

L'oggetto Match è contenuto nell'oggetto di raccolta dei match. Questi oggetti rappresentano la corrispondenza riuscita dopo la ricerca di una stringa.

  • FirstIndex- Rappresenta la posizione all'interno della stringa originale in cui si è verificata la corrispondenza. Questo indice è a base zero, il che significa che la prima posizione in una stringa è 0.

  • Length - Un valore che rappresenta la lunghezza totale della stringa corrispondente.

  • Value- Un valore che rappresenta il valore o il testo corrispondente. È anche il valore predefinito quando si accede all'oggetto Match.

Tutto su Pattern Parameter

La costruzione del modello è simile a PERL. La creazione di modelli è la cosa più importante quando si lavora con le espressioni regolari. In questa sezione, ci occuperemo di come creare un pattern basato su vari fattori.

Corrispondenza di posizione

L'importanza della corrispondenza della posizione è garantire di posizionare le espressioni regolari nelle posizioni corrette.

Simbolo Descrizione
^ Corrisponde solo all'inizio di una stringa.
$ Trova solo la fine di una stringa.
\ b Corrisponde a qualsiasi confine di parola
\ B Corrisponde a qualsiasi confine non di parola

Corrispondenza letterale

Qualsiasi forma di caratteri come alfabeto, numero o carattere speciale o anche decimale, esadecimale può essere considerato letterale. Poiché pochi dei personaggi hanno già un significato speciale nel contesto di Regular Expression, abbiamo bisogno di evitarli usando sequenze di escape.

Simbolo Descrizione
Alfanumerico Corrisponde solo ai caratteri alfabetici e numerici.
\ n Corrisponde a una nuova riga.
\ [ Corrispondenze [solo letterali
\] Corrispondenze] solo letterali
\ ( Corrispondenze (solo letterali
\) Corrispondenze) solo letterale
\ t Corrisponde alla tabulazione orizzontale
\ v Corrisponde alla scheda verticale
\ | Partite | solo letterale
\ { Corrisponde a {solo letterale
\} Trova} solo letterale
\\ Corrisponde solo a \ letterali
\? Partite? solo letterale
\ * Corrisponde a * solo letterale
\ + Corrispondenze + solo letterale
\. Partite. solo letterale
\ b Corrisponde a qualsiasi confine di parola
\ B Corrisponde a qualsiasi confine non di parola
\ f Corrisponde a un feed modulo
\ r Corrisponde al ritorno a capo
\ xxx Corrisponde al carattere ASCII di un numero ottale xxx.
\ xdd Corrisponde al carattere ASCII di un numero esadecimale dd.
\ uxxxx Corrisponde al carattere ASCII di un xxxx letterale UNICODE.

Corrispondenza delle classi di caratteri

Le classi di caratteri sono il modello formato da raggruppamenti personalizzati e racchiuso tra parentesi []. Se ci aspettiamo una classe di caratteri che non dovrebbe essere nella lista, allora dovremmo ignorare quella particolare classe di caratteri usando il simbolo negativo, che è un cap ^.

Simbolo Descrizione
[xyz] Trova una qualsiasi delle classi di caratteri racchiuse nel set di caratteri.
[^ xyz] Corrisponde a una qualsiasi delle classi di caratteri NON racchiuse nel set di caratteri.
. Corrisponde a qualsiasi classe di caratteri tranne \ n
\ w Trova qualsiasi classe di caratteri della parola. Equivalente a [a-zA-Z_0-9]
\ W Trova qualsiasi classe di caratteri non alfanaria. Equivalente a [^ a-zA-Z_0-9]
\ d Trova qualsiasi classe di cifre. Equivalente a [0-9].
\ D Trova qualsiasi classe di caratteri non numerici. Equivalente a [^ 0-9].
\S Trova qualsiasi classe di caratteri spazio. Equivalente a [\ t \ r \ n \ v \ f]
\S Trova qualsiasi classe di caratteri spazio. Equivalente a [^ \ t \ r \ n \ v \ f]

Ripetizione di corrispondenza

La corrispondenza delle ripetizioni consente più ricerche all'interno dell'espressione regolare. Specifica inoltre il numero di volte in cui un elemento viene ripetuto in un'espressione regolare.

Simbolo Descrizione
* Corrisponde a zero o più occorrenze della data espressione regolare. Equivalente a {0,}.
+ Corrisponde a una o più occorrenze della data espressione regolare. Equivalente a {1,}.
? Corrisponde a zero o una occorrenza dell'espressione regolare data. Equivalente a {0,1}.
{X} Corrisponde esattamente al numero x di occorrenze dell'espressione regolare data.
{X,} Corrisponde ad almeno x o più occorrenze dell'espressione regolare data.
{x, y} Corrisponde al numero xey di occorrenze dell'espressione regolare data.

Alternanza e raggruppamento

L'alternanza e il raggruppamento aiutano gli sviluppatori a creare espressioni regolari più complesse nella gestione in particolare di clausole complesse all'interno di un'espressione regolare che offre grande flessibilità e controllo.

Simbolo Descrizione
0 Raggruppamento di una clausola per creare una clausola. "(xy)? (z)" corrisponde a "xyz" o "z".
| L'alternanza combina una clausola di espressione regolare e quindi corrisponde a una qualsiasi delle singole clausole. "(ij) | (23) | (pq)" corrisponde a "ij" o "23" o "pq".

Costruire espressioni regolari

Di seguito sono riportati alcuni esempi che spiegano chiaramente come costruire un'espressione regolare.

Espressione regolare Descrizione
"^ \ s * .." e ".. \ s * $" Rappresenta che può esserci un numero qualsiasi di caratteri di spazio iniziali e finali in una singola riga.
"((\ $ \ s?) | (# \ s?))?" Rappresenta un segno $ o # facoltativo seguito da uno spazio facoltativo.
"((\ d + (\. (\ d \ d)?)?))" Rappresenta che è presente almeno una cifra seguita da un decimale facoltativo e due cifre dopo i decimali.

Esempio

L'esempio seguente controlla se l'utente ha immesso o meno un ID e-mail il cui formato deve corrispondere in modo tale che sia presente un ID e-mail seguito da "@" e quindi seguito dal nome di dominio.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         strid = "[email protected]"
         Set re = New RegExp
         With re
            .Pattern    = "^[\w-\.]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$"
            .IgnoreCase = False
            .Global     = False
         End With
        
         ' Test method returns TRUE if a match is found
         If re.Test( strid ) Then
            Document.write(strid & " is a valid e-mail address")
         Else
            Document.write(strid & " is NOT a valid e-mail address")
         End If
        
        Set re = Nothing
      </script>
   </body>
</html>

Esistono tre tipi di errori nella programmazione: (a) errori di sintassi, (b) errori di runtime e (c) errori logici.

Errori di sintassi

Gli errori di sintassi, chiamati anche errori di analisi, si verificano al momento dell'interpretazione per VBScript. Ad esempio, la riga seguente causa un errore di sintassi perché manca una parentesi di chiusura -

<script type = "text/vbscript">

   dim x,y
   x = "Tutorialspoint"
   y = Ucase(x

</script>

Errori di runtime

Gli errori di runtime, chiamati anche eccezioni, si verificano durante l'esecuzione, dopo l'interpretazione. Ad esempio, la riga seguente causa un errore di runtime perché qui la sintassi è corretta ma in fase di esecuzione sta tentando di chiamare fnmultiply, che è una funzione inesistente -

<script type = "text/vbscript">
   Dim x,y
   x = 10
   y = 20
   z = fnadd(x,y)
   a = fnmultiply(x,y)
   
   Function fnadd(x,y)
      fnadd = x+y
   End Function

</script>

Errori logici

Gli errori logici possono essere il tipo di errore più difficile da rintracciare. Questi errori non sono il risultato di un errore di sintassi o di runtime. Invece, si verificano quando commetti un errore nella logica che guida il tuo script e non ottieni il risultato che ti aspettavi. Non è possibile rilevare questi errori, perché dipende dai requisiti aziendali che tipo di logica si desidera inserire nel programma. Ad esempio, dividendo un numero per zero o uno script scritto che entra in un ciclo infinito.

Err Object

AAssumiamo se abbiamo un errore di runtime, quindi l'esecuzione si interrompe visualizzando il messaggio di errore. In qualità di sviluppatore, se vogliamo acquisire l'errore, alloraError L'oggetto viene utilizzato.

Esempio

Nell'esempio seguente, Err.Number fornisce il numero di errore e Err.Description fornisce una descrizione dell'errore.

<script type = "text/vbscript">
  
  Err.Raise 6     ' Raise an overflow error.
  MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
  Err.Clear       ' Clear the error.

</script>

VBScript ha alcune altre importanti istruzioni per aiutare gli sviluppatori a sviluppare uno script efficiente. La tabella seguente elenca una serie di dichiarazioni così importanti. In questo capitolo, discuteremo ciascuna di queste affermazioni in dettaglio con esempi.

Categoria Nome funzione / Nome istruzione
Opzioni Opzione esplicita
ID Script Engine ScriptEngine
varianti IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
Espressione Eval, Execute
Dichiarazione di controllo Con ... Finisci con
Funzione matematica Rendi casuale

Opzione esplicita

Option Explicit obbliga lo sviluppatore a dichiarare le variabili utilizzando Dim prima che vengano utilizzati in qualche parte del codice.

Sintassi

Option Explicit

Esempio

Se usiamo Option Explicit e se non dichiariamo le variabili, l'interprete genererà un errore.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Option Explicit
         Dim x,y,z,a
         x = 10
         y = 20
         z = fnadd(x,y)
         a = fnmultiply(x,y)

         Function fnadd(x,y)
            fnadd = x+y
         End Function

      </script>
   </body>
</html>

ScriptEngine

ScriptEnginerappresenta i dettagli del linguaggio di scripting in uso. Viene anche utilizzato in combinazione conScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion che fornisce rispettivamente la versione principale del motore vbscript, la versione secondaria il motore vbscript e la versione build di vbscript.

Sintassi

ScriptEngine

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim scriptdetails
         scriptdetails =  " Version " & ScriptEngine & " - "
         'For getting Major version, use ScriptEngineMajorVersion'
        
         scriptdetails = scriptdetails &  ScriptEngineMajorVersion & "."
        
         'For getting Minor version, use ScriptEngineMinorVersion'
         scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
        
         'For getting Build version, use ScriptEngineBuildVersion'
         scriptdetails = scriptdetails & ScriptEngineBuildVersion 
        
         Document.write scriptdetails

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Version VBScript - 5.8.16996

È vuoto

La funzione IsEmpty viene utilizzata per verificare se l'espressione è vuota o meno. Restituisce un valore booleano.IsEmptyrestituisce True se la variabile non è inizializzata o è impostata esplicitamente su Vuoto. In caso contrario, l'espressione restituisce False.

Sintassi

IsEmpty(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, MyCheck
         MyCheck = IsEmpty(var)  
         Document.write "Line 1 : " & MyCheck & "<br />"
        
         var = Null   ' Assign Null.
         MyCheck = IsEmpty(var) 
         Document.write "Line 2 : " & MyCheck & "<br />"
         
         var = Empty   ' Assign Empty.
         MyCheck = IsEmpty(var)
         Document.write "Line 3 : " & MyCheck & "<br />"
        
      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : True
Line 2 : False
Line 3 : True

È zero

La funzione IsNull viene utilizzata per verificare se l'espressione ha o meno dati validi. Restituisce un valore booleano.IsNull restituisce True se la variabile è Null altrimenti l'espressione restituisce False.

Sintassi

IsNull(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, res
         res = IsNull(var)
         document.write "Line 1 : " & res & "<br />"
         
         var = Null
         res = IsNull(var)
         document.write "Line 2 : " & res & "<br />"
         
         var = Empty
         res = IsNull(var)
         document.write "Line 3 : " & res & "<br />"

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

La funzione IsObject viene utilizzata per verificare se l'espressione ha o meno un oggetto valido. Restituisce un valore booleano.IsObject restituisce True se l'espressione contiene un sottotipo di oggetto altrimenti l'espressione restituisce False.

Sintassi

IsObject(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
        Dim fso,b
        b = 10
        set fso = createobject("Scripting.Filesystemobject")
        
        x = isobject(fso)
        Document.write "Line 1 : " &  x  & "<br />" 
        
        y = isobject(b)
        Document.write "Line 2 : " &  y  & "<br />" 

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : True
Line 2 : False

IsNumeric

La funzione IsNumeric viene utilizzata per verificare se l'espressione ha o meno un sottotipo di numero. Restituisce un valore booleano.IsObject restituisce True se l'espressione contiene un sottotipo numerico altrimenti l'espressione restituisce False.

Sintassi

IsNumeric(expression)

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, chk
         var = 20
         chk = IsNumeric(var)
         Document.write "Line 1 : " &  chk  & "<br />" 
        
         var = "3.1415935745"   
         chk = IsNumeric(var)   
         Document.write "Line 2 : " &  chk  & "<br / >" 
        
         var = "20 Chapter 23.123 VBScript"   
         chk = IsNumeric(var)
         Document.write "Line 3 : " &  chk  & "<br / >" 

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : True
Line 2 : True
Line 3 : False

TypeName

La funzione TypeName viene utilizzata per restituire le informazioni sul sottotipo di variante della variabile.

Sintassi

TypeName(varname)

La funzione Typename può restituire uno dei seguenti valori.

  • Byte - Valore byte

  • Intero: valore intero

  • Long - Valore intero lungo

  • Single: valore a virgola mobile a precisione singola

  • Double: valore a virgola mobile e precisione doppia

  • Valuta - Valore della valuta

  • Decimale: valore decimale

  • Data: valore data o ora

  • String - Valore stringa di caratteri

  • Boolean: valore booleano

  • Vuoto: valore non inizializzato

  • Null - Nessun dato valido

  • Oggetto: nome del tipo di oggetto

  • Nothing - Variabile oggetto che non fa ancora riferimento a un'istanza di oggetto

  • Error

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim ArrVar(2), vartype
         NullVar = Null   ' Assign Null value.

         vartype = TypeName(3.1450)     
         Document.write "Line 1 : " &  vartype  & "<br />" 
         
         vartype = TypeName(432)         
         Document.write "Line 2 : " &  vartype  & "<br />" 
         
         vartype = TypeName("Microsoft")
         Document.write "Line 3 : " &  vartype  & "<br />" 
         
         vartype = TypeName(NullVar)   
         Document.write "Line 4 : " &  vartype  & "< br />" 
         
         vartype = TypeName(ArrVar)    
         Document.write "Line 5 : " &  vartype  & "<br />"

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Eval

La funzione Eval esegue un'espressione e restituisce il risultato come stringa o come numero.

Sintassi

Eval(expression)

L'argomento Expression può essere un'espressione stringa o un numero. Se si passa alla funzione Eval una stringa che non contiene un'espressione numerica o un nome di funzione ma solo una semplice stringa di testo, si verifica un errore di runtime. Ad esempio, Eval ("VBScript") restituisce un errore.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Document.write Eval("10 + 10") & "<br />"
         Document.write Eval("101 = 200") & "<br />" 
         Document.write Eval("5 * 3") & "<br />" 

      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

20
false
15

Eseguire

L'istruzione Execute accetta un argomento che è un'espressione stringa contenente una o più istruzioni per l'esecuzione.

Sintassi

Execute(expression)

In VBScript, a = b può essere interpretato in due modi. Può essere trattato come un'istruzione di assegnazione in cui il valore di x è assegnato a y. Può anche essere interpretato come un'espressione che verifica se aeb hanno lo stesso valore. Se lo fanno, il risultato è Vero; se non lo sono, il risultato è Falso. L'istruzione Execute utilizza sempre la prima interpretazione mentre l'istruzione Eval utilizza sempre la seconda.

Esempio

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim x
         x = "Global" 
         y = "VBScript"
         Execute("x = y")
         
         msgbox x
         msgbox y
        
      </script>
   </body>
</html>

Salvare il file con estensione .html dopo aver eseguito lo script in IE, sullo schermo viene visualizzato il seguente risultato.

VBScript
VBScript

Con ... Termina con

L'istruzione With ci consente di eseguire una serie di operazioni su un oggetto specificato senza menzionare esplicitamente il nome dell'oggetto più e più volte.

Sintassi

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

Esempio

Dopo aver eseguito il seguente script, Winword viene aperto e viene inserito il testo specificato.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Msg =  "Vbscript" & vbCrLf & "Programming"
         Set objWord = CreateObject("Word.Application")
         objWord.Visible = True
       
         ' Objects methods are accessed without requaliyfying the objects again.'
         With objWord
            .Documents.Add
            .Selection.TypeText Msg
            .Selection.WholeStory
         End With
         
      </script>
   </body>
</html>

Rendi casuale

L'istruzione Randomize inizializza il generatore di numeri casuali che è utile per gli sviluppatori per generare un numero casuale.

Sintassi

Randomize [number]

Esempio

Dopo aver eseguito il seguente script, Winword viene aperto e viene inserito il testo specificato.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim MyValue
         Randomize   
         MyValue = Int((100 * Rnd) + 1)   ' Generate random value between 1 and 100.
         MsgBox MyValue
        
      </script>
   </body>
</html>

Salva lo script sopra come HTML e dopo aver eseguito lo script in IE, viene mostrato il seguente output.

42