Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows Phone
  • Cosa significa DIM in Visual Basic e BASIC? Sottoprogrammi del linguaggio di base. Richiedere una dichiarazione di variabile esplicita

Cosa significa DIM in Visual Basic e BASIC? Sottoprogrammi del linguaggio di base. Richiedere una dichiarazione di variabile esplicita

Dim aveva significati diversi a lui attribuito.

Ho trovato riferimenti al valore Dim "Dichiarare in memoria", il collegamento più rilevante è il documento Dim Statement pubblicato da Oracle come parte del riferimento al linguaggio Siebel VB. Certo, puoi sostenere che se non dichiari variabili in memoria, dove lo fai? Forse "Dichiara nel modulo" - buona alternativa, considerando come viene utilizzato Dim.

Secondo me, "Dichiara in memoria" è in realtà un mnemonico creato per rendere più facile l'apprendimento dell'uso di Dim . Vedo "Dichiara in memoria" come il significato migliore in quanto descrive ciò in cui fa versioni attuali lingua, ma questo non è il significato corretto.

Infatti, alle origini Dim. di base usato solo per dichiarare gli array. Nessuna parola chiave è stata utilizzata per le variabili regolari, invece il loro tipo è stato dedotto dal loro nome. Ad esempio, se il nome della variabile termina con $ , allora è una stringa (che è qualcosa che potresti anche vedere nei nomi dei metodi precedenti a VB6, come Mid$). Quindi hai usato Dim solo per misurare le dimensioni degli array (nota che ReDim ridimensiona gli array).

Importa davvero? Voglio dire che questa parola chiave ha senso linguaggio artificiale. Non deve essere una parola in inglese o in qualsiasi altra lingua naturale. Quindi può significare solo quello che vuoi, tutto ciò che conta è che funzioni.

In ogni caso, questo non è del tutto vero. Perché BASIC fa parte della nostra cultura e capisce perché è il modo in cui spero che aiuti a migliorare la nostra visione del mondo.

Mi siedo davanti al mio computer con il desiderio di aiutare a preservare questo piccolo pezzo della nostra cultura che sembra perduto, sostituito dal nostro indovinare cosa fosse. Quindi ho recuperato CD MSDN sia attuali che vecchi dalla versione del 1998. Ho anche cercato nella documentazione il vecchio QBasic [avrei dovuto usare DOSBox] e sono riuscito a ottenere il manuale di Dartmouth per vedere cosa dicono di Dim . Con mio disappunto, non dicono cosa significa Dim, solo come viene utilizzato.

Ma prima che la mia speranza fosse offuscata, sono riuscito a trovare questo Manuale del microcomputer della BBC (che si dice risalga al 1984 e non ho dubbi al riguardo). Il microcomputer BBC utilizzava una variante del BASIC chiamata BBC BASIC ed è descritta nel documento. Anche se non dice cosa significa Dim, dice (a pagina 104):

Puoi misurare N$ per avere tutti i record che desideri. Ad esempio, DIM N $(1000) creerà una matrice di stringhe con spazio per 1000 nomi diversi.

Come ho detto, non dice che Dim stia per dimensione, ma è la prova che l'associazione di Dim con Dimension era comune al momento in cui scrivo.

Ora ho ricevuto una sorpresa in più più tardi (a pagina 208), l'intestazione della sezione che descrive la parola chiave DIM (nota: questo non è elencato nel contenuto) dice:

Dimensioni dell'array DIM

Quindi, non ho ricevuto la citazione "Valore debole...", ma penso che sia chiaro che qualsiasi persona decente in grado di leggere questo documento considererebbe Dim come dimensione.

Con nuova speranza, ho deciso di trovare un modo per selezionare Dim . Ancora una volta, non ho trovato account su questo argomento, ma sono riuscito a trovare la citazione definitiva:

Prima di poter utilizzare una matrice, è necessario definirla in un'istruzione DIM (dimensione).

Puoi trovarlo come parte delle Guide per l'utente in linea di True BASIC sulla pagina Web di True BASIC inc, una società fondata da Thomas Eugene Kurtz, co-inventore di BASIC.

Quindi, durante riutilizzo Dim è l'abbreviazione di Dimensione e sì. Questo esisteva in FORTRAN prima, quindi è probabile che sia stato scelto dall'influenza di FORTRAN come ha detto Patrick McDonald nella sua risposta.

Dim sum as string = "questo non è un pasto cinese" Esempio di utilizzo REM in VB.NET ;)

Dichiara una variabile o una matrice.

Se le variabili sono elencate separate da virgole (ad esempio, DIM sPar1, sPar2, sPar3 AS STRING), è possibile definire solo la variabile Variant. A caso generale, ogni variabile deve essere definita su una riga separata.

DIM spar1 COME STRINGA

DIM spar2 COME STRINGA

DIM spar3 COME STRINGA

Dim dichiara le variabili locali nelle procedure. Le istruzioni PUBLIC e PRIVATE vengono utilizzate per dichiarare variabili globali.

Sintassi:

Variabile attenuata [(dall'inizio alla fine)] [, variabile2 [(dall'inizio alla fine)] [,...]]

Opzioni:

Variabile: un nome arbitrario per una variabile o una matrice.

Inizio, Fine: valori numerici o costanti che specificano il numero di elementi (Number_of_elements=(Start-End)+1) e l'intervallo di indice.

Inizio e Fine possono anche essere espressioni numeriche se ReDim viene applicato a livello di procedura.

Tipo: una parola chiave che dichiara il tipo della variabile.

Parola chiave: tipo variabile

Bool: variabile di tipo Boolean (True, False)

Valuta: una variabile di tipo Valuta (un valore di valuta con una frazione di lunghezza di 4 posizioni)

Data: variabile di tipo Data

Doppio: variabile in virgola mobile a doppia precisione (1.79769313486232 x 10E308 - 4.94065645841247 x 10E-324)

Intero: variabile di tipo Intero (-32768 - 32767)

lungo: variabile tipo lungo Intero (-2 147 483 648 - 2 147 483 647)

Object: variabile di tipo Object (Nota: questa variabile può essere definita solo in seguito utilizzando l'istruzione Set!)

Singola: variabile di tipo singolo (3.402823 x 10E38 - 1.401298 x 10E-45)

String: variabile di tipo String con lunghezza massima 64.000 caratteri ASCII.

: variabile di tipo Variant (copre tutti i tipi, come definito). Se la parola chiave non viene specificata, le variabili vengono automaticamente definite come variabili di tipo Variant, a meno che non venga utilizzato l'operatore dell'intervallo DefBool - DefVar.

Nel linguaggio Basic Lotus® Symphony™, le variabili non devono essere dichiarate esplicitamente. L'unica eccezione sono gli array. Una variabile può essere dichiarata usando l'istruzione Dim; se sono presenti più dichiarazioni di dichiarazione, sono separate da virgole. Per dichiarare il tipo di una variabile, specificare un carattere di dichiarazione del tipo dopo il suo nome o immettere la parola chiave appropriata.

Nel linguaggio di base di Lotus Symphony, è possibile definire unidimensionale o array multidimensionali, specificando il tipo di variabile appropriato. Gli array sono utili per lavorare con elenchi e tabelle. È possibile accedere agli elementi dell'array tramite l'indice, che può essere specificato tramite un'espressione numerica o una variabile.

Gli array vengono dichiarati con l'istruzione Dim. Un intervallo di indici può essere definito in due modi:

DIM text(20) come String REM 21 elementi numerati da 0 a 20

DIM testo (da 5 a 25) come String REM 21 elementi numerati da 5 a 25

DIM testo (da -15 a 5) come String REM 21 elementi (incluso 0)

REM con i numeri da -15 a 5

campo dati 2D

DIM text(20,2) come String REM 63 elementi numerati da 0 a 20 livello 1, da 0 a 20 livello 2 e da 0 a 20 livello 3

I tipi di array possono essere dichiarati dinamici se l'istruzione ReDim specifica il numero di dimensioni nella procedura o nella funzione che contiene l'array. In generale, la dimensione di un array viene definita una sola volta e non può essere modificata. Un array può essere dichiarato in una procedura utilizzando l'istruzione ReDim. Le dimensioni possono essere determinate solo utilizzando espressioni numeriche. Ciò garantisce il rispetto delle restrizioni sulla lunghezza del campo.

Esempio:

Dim sVar come stringa

Dim iVar As Integer

sVar = "Sinfonia di loto"

REM Campo dati bidimensionale

Dim stext(20,2) come String

Const sDim as String = " Dimensione:"

stext(i,ii) = str(i) & sDim & str(ii)

La maggior parte delle persone preferisce non utilizzare identificatori per denotare variabili. Invece, usano l'operatore Dim, tale operazione viene chiamata - Annunci. Per esempio:

Dim A come intero

Dim B come stringa

Le dichiarazioni di variabili possono essere combinate sulla stessa riga.

Dim A come intero, nome come intero

Un errore comune è usare la seguente espressione:

Dim X, Y, Z come intero

Il presupposto è che tutte le variabili siano intere. Infatti X e Y verranno dichiarati come Variante e solo Z come Intero. Per evitare ciò, è necessario utilizzare ogni volta l'identificatore del tipo. Se una variabile viene dichiarata utilizzando l'istruzione Dim, se viene utilizzata una variabile con lo stesso nome e un identificatore diverso tipo accadrà Errore di "doppia definizione" durante il caricamento del programma.

Quando si assegna una variabile di tipo Variant, è possibile utilizzare l'operatore -Dim senza il prefisso -AS. Per esempio:

La necessità di dichiarare variabili.

Una delle più errori comuni nel programma è l'uso di variabili non dichiarate. Il problema è che Visual Basic consente di creare una variabile non appena si verifica una volta nel programma. Se si confonde il nome di una variabile, Visual Basic ne crea una nuova con un nome simile e le assegna un valore predefinito, che genera immediatamente un errore. Questo errore è difficile da individuare perché i nomi delle variabili sono molto simili.

Il modo più semplice evitare un tale errore consiste nella dichiarazione forzata di tutte le variabili. Visual Basic visualizza un messaggio quando è presente un errore nel nome. Visual Basic fornisce questa funzionalità, ma non viene utilizzata per impostazione predefinita. L'operatore richiesto per questo è chiamato Option Explicit.

Per controllo generale variabili nel programma, è necessario inserire l'istruzione Option Explicit nella sezione Generale.

Per posizionare dato operatore nella sezione Generale hai bisogno di:

Apri la finestra del codice

Selezionare l'oggetto Generale dall'elenco di oggetti nella finestra Oggetto

Selezionare Dichiarazione dall'elenco Procedura

Immettere l'opzione esplicita.

Modifica dei valori predefiniti per i tipi

Assumiamo che tutte le variabili nel programma debbano essere intere. Per comodità, in questo caso viene utilizzato l'operatore DefType. Per tutte le variabili intere, appare così:

Definito dalla A alla Z

Forme di base di diversi operatori DefType

Le convenzioni di tipo possono sempre essere modificate utilizzando un identificatore o l'istruzione Dim per una particolare variabile. In genere, l'istruzione DefType viene inserita nella stessa sezione (Generale) dell'istruzione Option Explicit.

Portata variabile

I programmatori usano il termine scope quando vogliono parlare della possibilità di utilizzare una variabile da una parte del programma in un'altra parte di esso. In Visual Basic dichiarazione delle variabili all'interno di una procedura sono isolati l'uno dall'altro. In termini di programmazione, ciò significa che queste variabili lo sono Locale.

6. Dichiarazione di variabili: l'istruzione Dim for vari tipi dati

Molto spesso, le persone cercano di non utilizzare identificatori quando denotano il tipo di una variabile (soprattutto per tipi come data/ora). Invece, usano l'istruzione Dim. Tale operazione è chiamata dichiarazione. Dichiarare i tipi di variabile quando si gestiscono gli eventi prima di usarli - ovviamente, con i commenti - lo è bello stile nella programmazione. Consente inoltre di migliorare la "leggibilità" dei testi dei programmi.

Se una variabile viene dichiarata utilizzando l'istruzione Dim, l'utilizzo di una variabile con lo stesso nome e un identificatore di tipo diverso risulterà in un errore di "doppia definizione" quando il programma viene eseguito. Ad esempio, se la seguente espressione Dim Count As Integer dichiara una variabile Count, non è possibile utilizzare le variabili Counts, Count! Count# e Count®. Dovresti usare solo il nome Count%, ma questo è solo un altro modulo per il nome della variabile Count.

Per assegnare un tipo di variante a una variabile, utilizzare l'operatore Dim senza As:

Dim F00 considera F00 come una variabile di tipo variante.

Puoi anche scriverlo in questo modo: Dim Foo As Variant - è più facile da leggere.

Ogni informazione che dovrebbe essere disponibile per tutte le procedure di evento associate al modulo è inserita nella sezione (Generale) del modulo.

Per inserire l'opzione esplicita nella sezione (Generale), attenersi alla seguente procedura.

1. Aprire la finestra Codice.

2. Selezionare un oggetto (Generale) dall'elenco di oggetti offerti nella finestra Oggetto.

3. Selezionare (Dichiarazione) dall'elenco Proc.

4. Immettere l'opzione esplicita.

È spesso necessario utilizzare le dichiarazioni a livello di modulo nella sezione (Generale) quando l'utente sta sperimentando programmi di esempio da sistema di aiuto.

Per copiare un programma di esempio dalla guida in linea, utilizzare il pulsante Copia nella finestra Esempio di codice. È quindi possibile utilizzare l'opzione Incolla dal menu Modifica per incollare l'esempio nella finestra Codice. Quando Visual Basic rileva un comando Option Explicit, smette di consentire variabili non dichiarate. Se si tenta ancora di utilizzare tale variabile, verrà visualizzato un messaggio di errore.

Per applicare una dichiarazione di tipo variabile obbligatoria, è possibile utilizzare Editor di pagine della finestra di dialogo Strumenti|0pzioni. Il programmatore seleziona sempre questa casella. Dopodiché, l'istruzione Option Explicit viene automaticamente inserita nei punti del codice in cui è necessaria.

Dal libro Costruiamo un compilatore! di Crenshaw Jack

Dal libro Internet Intelligence [Guida all'azione] autore Yushchuk Evgeny Leonidovich

Meta motori di ricerca di Internet con esempi di ricerca di vari tipi di informazioni sistema informativo, che unirebbe i vantaggi di tutti i motori di ricerca

Dal libro Tecnologie server archiviazione dati in Ambiente Windows® 2000 Windows® Server 2003 di Dilip Naik

Capitolo 10 Funzionalità del sottosistema di archiviazione in Varie Versioni di Windows NT I capitoli precedenti hanno esaminato l'architettura Windows in termini di capacità specifiche del sottosistema di archiviazione. Questo capitolo è destinato ai professionisti che utilizzano i sottosistemi di archiviazione

Dal libro HTML 5, CSS 3 e Web 2.0. Sviluppo di siti Web moderni. autore Dronov Vladimir

Dal libro HTML 5, CSS 3 e Web 2.0. Sviluppo di siti Web moderni autore Dronov Vladimir

Dichiarazione di variabili Prima di utilizzare una variabile nel codice dello script Web, si consiglia di dichiararla. Per fare ciò viene utilizzato l'operatore di dichiarazione della variabile var, dopo di che viene indicato il nome della variabile: var x; Ora la variabile dichiarata può essere assegnata a qualsiasi

Dal libro VBA per manichini autore Cummings Steve

Dichiarazione di variabili Come discusso nel Capitolo 6, una dichiarazione è un'istruzione VBA che viene utilizzata per dire al compilatore che si intende utilizzare un oggetto denominato e descrivere esplicitamente il tipo di tale oggetto. Le dichiarazioni di dichiarazione sono più comunemente utilizzate

Dal libro Il linguaggio di programmazione C per personal computer autore Bochkov S.O.

Dichiarazione di più variabili su una riga Su una riga codice del programma Puoi anche dichiarare più variabili. La parola chiave Dim viene stampata una sola volta e le variabili sono separate da virgole, ma non dimenticare di specificare il tipo di dati per ciascuna delle variabili in

Dal libro The Art of Scripting Programming shell di comando di Cooper Mendel

Dal libro Programmazione Linux negli esempi autore Robbins Arnold

Dichiarazione di variabili di tipo personalizzate Come i tipi di dati integrati, tipo personalizzato rimane un concetto astratto finché non si dichiara una variabile del tipo appropriato. Ciò non richiede nulla di speciale: la sintassi standard va bene

Dal libro La fine dell'Holivar. Pascal vs C autore Krivtsov M.A.

Dichiarazione delle variabili di classe Per dichiarare le variabili che saranno necessarie in diverse proprietà o metodi, utilizzare la sezione Dichiarazioni all'inizio del modulo di classe. Dichiarare sempre queste variabili come locali (private), perché gli oggetti sono principalmente destinati

Dal libro dell'autore

Dichiarazioni di variabili Questa sezione fornisce una descrizione coerente della sintassi e della semantica delle dichiarazioni di variabili. Le varietà di variabili sono elencate nella tabella seguente: Tabella 3.4. Tipo di variabile Spiegazione Variabile semplice Variabile scalare di un numero intero o

Dal libro dell'autore

Dichiarazione dei dati Se una parola chiave near, far o huge è immediatamente seguita da un identificatore, significa che l'elemento di dati corrispondente sarà collocato in un segmento di dati standard (per near) o potrebbe essere collocato in un altro segmento di dati (per far o huge ). Per esempio,

Dal libro dell'autore

9.4. Dichiarare le variabili: dichiarare e typeset Le istruzioni dichiarare e typeset sono istruzioni incorporate (sono assolutamente identiche tra loro e sono sinonimi) e hanno lo scopo di imporre restrizioni alle variabili. Questo è un tentativo molto debole di controllo del tipo, che

Dal libro dell'autore

8.1.2. Una panoramica dei diversi tipi di file system Discussione in questa sezione specifico per Linux. Tuttavia, molti moderni Sistemi Unix hanno anche caratteristiche simili. Ti consigliamo di studiare la documentazione per il tuo sistema. Storicamente, V7 Unix supportava solo un tipo

Dal libro dell'autore

Tipi standard dati e dichiarazione delle variabili Il valore assegnato ad una variabile deve corrispondere al suo tipo specificato nella sezione descrizione. Ci sono quattro tipi standard di valori in Pascal (oltre a quelli che possono essere ulteriormente definiti in ogni programma -

Dal libro dell'autore

Tipi di dati standard e dichiarazioni di variabili int - integerlong - long integershort - short integerunsigned - unsigned integerfloat - realdouble - long realchar - carattere Diversamente da Pfscal, non ci sono variabili logiche in C. Esempi di dichiarazioni di variabili:

In VBA, come in qualsiasi altro linguaggio di programmazione, le variabili e le costanti vengono utilizzate per memorizzare qualsiasi valore. Come suggerisce il nome, le variabili possono cambiare, mentre le costanti memorizzano valori fissi.

Ad esempio, la costante Pi memorizza il valore 3.14159265… Il numero “Pi” non cambierà durante l'esecuzione del programma, ma è comunque più conveniente memorizzare tale valore come costante.

Allo stesso tempo, possiamo usare la variabile sVAT_Tariffa per memorizzare l'aliquota IVA sui beni acquistati. Valore variabile sVAT_Tariffa può variare a seconda del prodotto acquistato.

Tipi di dati

Tutte le variabili e le costanti sono di un particolare tipo di dati. La tabella seguente elenca i tipi di dati utilizzati in VBA con una descrizione e un intervallo di valori possibili:

Tipo di dati La dimensione Descrizione Intervallo di valori
byte 1 byte Interi positivi; spesso utilizzato per i dati binari da 0 a 255
booleano 2 byte Può essere Vero o Falso vero o falso
Numero intero 2 byte Numeri interi (nessuna parte frazionaria) da -32 768 a +32 767
Lungo 4 byte Numeri interi grandi (nessuna parte frazionaria) da -2 147 483 648 a +2 147 483 647
Separare 4 byte Numero in virgola mobile a precisione singola da -3.4e38 a +3.4e38
Doppio 8 byte Numero in virgola mobile a doppia precisione Da -1.8e308 a +1.8e308
Moneta 8 byte Numero a virgola mobile, con un numero fisso di cifre decimali da -922 337 203 685 477.5808 a +922 337 203 685 477.5807
Data 8 byte Data e ora - I dati di tipo Data sono rappresentati da un numero in virgola mobile. intera parte questo numero esprime la data, e parte frazionaria- volta dal 1 gennaio 100 al 31 dicembre 9999
Oggetto 4 byte Riferimento all'oggetto Qualsiasi riferimento all'oggetto
Corda i cambiamenti Set di caratteri. Il tipo String può essere di lunghezza fissa o variabile. Più comunemente usato con lunghezza variabile Lunghezza fissa: fino a circa 65.500 caratteri. lunghezza variabile– fino a circa 2 miliardi di caratteri
Variante i cambiamenti Può contenere una data, un float o una stringa di caratteri. Questo tipo viene utilizzato nei casi in cui non sia noto in anticipo quale tipo di dati verranno inseriti. Numero - Doppio, stringa - Stringa

Ovviamente, utilizzando la tabella sopra e scegliendo il tipo di dati corretto, puoi utilizzare la memoria in modo più economico (scegli ad esempio il tipo di dati Numero intero invece di Lungo o Separare invece di Doppio). Tuttavia, quando si utilizzano tipi di dati più compatti, è necessario fare attenzione che il codice non tenti di adattarvi valori sproporzionatamente grandi.

Dichiarazione di variabili e costanti

Nota del traduttore: Parlando di variabili in VBA, vale la pena menzionarne un'altra molto punto importante. Se dichiariamo una variabile ma non le assegniamo alcun valore, viene inizializzata con un valore predefinito:
stringhe di testo– vengono inizializzati righe vuote;
numeri - valore 0;
tipo variabili booleano– Falso;
le date sono il 30 dicembre 1899.

Prima di poter utilizzare una variabile o una costante, è necessario dichiararla. Per fare ciò, aggiungi quanto segue alla macro: stringa semplice codice:

Dim Nome_variabile Come Tipo di dati

Nella riga di codice sopra Nome_variabileè il nome della variabile che verrà utilizzata nel codice, e Tipo di dati- questo è uno dei tipi di dati della tabella fornita poco prima in questo articolo. Per esempio:

Dim sVAT_Rate As Single Dim i As Integer

Le costanti vengono dichiarate in modo simile, ma quando si dichiarano costanti, il loro valore deve essere immediatamente indicato. Ad esempio, in questo modo:

Cost iMaxCount = 5000 Cost iMaxScore = 100

Non è necessario dichiarare variabili in Excel. Per impostazione predefinita, tutte le variabili immesse ma non dichiarate in Excel avranno il tipo Variante e sarà in grado di accettare sia valori numerici che di testo.

Pertanto, il programmatore può utilizzare la nuova variabile in qualsiasi momento (anche se non è stata dichiarata) ed Excel la tratterà come una variabile di tipo Variante. Tuttavia, ci sono diversi motivi per cui questo non dovrebbe essere fatto:

  1. Utilizzo della memoria e velocità di calcolo. Se non si dichiara una variabile con un'indicazione del tipo di dati, per impostazione predefinita verrà impostata sul tipo Variante. Questo tipo di dati utilizza più memoria, rispetto ad altri tipi di dati. Sembrerebbe che alcuni byte in più per variabile - non tanto, ma in pratica in programmi creati ci possono essere migliaia di variabili (soprattutto quando si ha a che fare con gli array). Pertanto, la memoria extra utilizzata da variabili come Variante, rispetto a variabili di tipo Numero intero o Separare, può aggiungere fino a un importo significativo.Inoltre, le operazioni con variabili di tipo Variante vengono eseguiti molto più lentamente rispetto a variabili di altro tipo, rispettivamente un migliaio in più tipo variabili Variante può rallentare notevolmente i calcoli.
  2. Prevenzione degli errori di battitura nei nomi delle variabili. Se tutte le variabili sono dichiarate, è possibile utilizzare l'istruzione VBA − Opzione esplicita(ne parleremo più avanti) in modo da identificare tutte le variabili non dichiarate, eliminando così la comparsa di un errore nel programma dovuto a un nome di variabile scritto in modo errato. Ad esempio, utilizzando una variabile denominata sVAT_Tariffa, puoi fare un errore di battitura e, assegnando un valore a questa variabile, scrivere: “VATRate = 0.175”. Si prevede che d'ora in poi, la variabile sVAT_Tariffa dovrebbe contenere il valore 0,175 - ma ovviamente non lo fa. Se è abilitata la modalità di dichiarazione obbligatoria di tutte le variabili utilizzate, il compilatore VBA indicherà immediatamente un errore, poiché non troverà la variabile aliquota IVA tra quelli annunciati.
  3. Evidenziando i valori che non corrispondono al tipo dichiarato di una variabile. Se dichiari una variabile certo tipo e prova ad assegnargli dati di un tipo diverso, quindi apparirà un errore, senza correggerlo, puoi ottenere un crash del programma.A prima vista, questo può sembrare un buon motivo per non dichiarare variabili, ma in effetti, il prima si scopre che una delle variabili non ha ricevuto i dati che avrebbe dovuto ricevere - tanto meglio! In caso contrario, se il programma continua a funzionare, i risultati potrebbero essere errati e imprevisti e sarà molto più difficile trovare la causa degli errori, inoltre è possibile che la macro venga eseguita “con successo”. Di conseguenza, l'errore passerà inosservato e il lavoro continuerà con dati errati!

A questo proposito, è opportuno rilevare un tipo di dati errato e correggere tali errori nel codice il prima possibile. Per questi motivi, quando si scrive Macro VBA si consiglia di dichiarare tutte le variabili.

Opzione esplicita

Operatore Opzione esplicita fa sì che tutte le variabili da utilizzare nel codice VBA vengano dichiarate e contrassegna tutte le variabili non dichiarate come errori durante la compilazione (prima che inizi l'esecuzione del codice). Applicare questo operatore non è difficile: basta scrivere questa riga nella parte superiore del file VBA:

Opzione esplicita

Se vuoi inserire sempre Opzione esplicita all'inizio di ogni nuovo modulo VBA creato, questo può essere fatto automaticamente. Per fare ciò, è necessario abilitare l'opzione Richiedi dichiarazione di variabile nelle impostazioni dell'editor VBA.

Questo è fatto in questo modo:

  • Dal menu di Visual Basic Editor, fare clic su Strumenti > Opzioni
  • Nella finestra di dialogo che appare, apri la scheda Editore
  • Selezionare la casella Richiedi dichiarazione di variabile e premere OK

Quando abilitato, la stringa Opzione esplicita verrà inserito automaticamente all'inizio di ogni nuovo modulo creato.

Ambito di variabili e costanti

Ogni variabile o costante dichiarata ha il proprio ambito limitato, ovvero una parte limitata del programma in cui esiste questa variabile. L'ambito dipende da dove è stata effettuata la dichiarazione della variabile o della costante. Prendi, ad esempio, la variabile sVAT_Tariffa, che viene utilizzato nella funzione Costo totale. La tabella seguente illustra due opzioni per l'ambito delle variabili sVAT_Tariffa dichiarato in due diverse posizioni nel modulo:

Opzione Esplicito Dim sVAT_Rate As singola funzione Total_Cost() As Double ... Funzione finale

Se la variabile sVAT_Tariffa dichiarato all'inizio del modulo, l'ambito di questa variabile sarà l'intero modulo (cioè la variabile sVAT_Tariffa saranno riconosciuti da tutte le procedure di questo modulo).

Pertanto, se nella funzione Costo totale variabile sVAT_Tariffa verrà assegnato un valore, quindi funzione successiva, eseguito all'interno dello stesso modulo, utilizzerà la variabile sVAT_Tariffa con lo stesso significato.

Tuttavia, se viene chiamata una funzione che si trova in un altro modulo, allora per essa la variabile sVAT_Tariffa non sarà conosciuto.

Opzione Funzione esplicita Total_Cost() As Double Dim sVAT_Rate As Single ... Funzione finale

Se la variabile sVAT_Tariffa dichiarato all'inizio della funzione Costo totale, il suo ambito sarà limitato solo a questa funzione (cioè all'interno della funzione Costo totale, puoi usare la variabile sVAT_Tariffa, ma non all'esterno).

Quando si tenta di utilizzare sVAT_Tariffa in un'altra procedura, il compilatore VBA segnalerà un errore perché questa variabile non è stata dichiarata all'esterno della funzione Costo totale(a condizione che venga utilizzato l'operatore Opzione esplicita).

Nell'esempio mostrato sopra, la variabile è dichiarata a livello di modulo con la parola chiave Dim. Tuttavia, potrebbe essere necessario che le variabili dichiarate possano essere utilizzate in altri moduli. In questi casi, per dichiarare una variabile invece di una parola chiave Dimè necessario utilizzare la parola chiave Pubblico.

A proposito, per dichiarare una variabile a livello di modulo, invece della parola chiave Dimè possibile utilizzare la parola chiave Privato, che indica che questa variabile deve essere utilizzata solo nel modulo corrente.

Puoi anche usare le parole chiave per dichiarare le costanti. Pubblico e Privato, ma non al posto della parola chiave cost, insieme ad esso.

A i seguenti esempi utilizzo mostrato parole chiave Pubblico e Privato applicato a variabili e costanti.

Articoli correlati in alto