Questi suffissi sono suggerimenti tipo e il collegamento nella risposta accettata non è aggiornato.
Dim someInteger% '% Equivalent to "As Integer"
Dim someLong& '& Equivalent to "As Long"
Dim [email protected] '@ Equivalent to "As Currency"
Dim someSingle! '! Equivalent to "As Single"
Dim someDouble# '# Equivalent to "As Double"
Dim someString$ '$ Equivalent to "As String"
Dim someLongLong^ '^ Equivalent to "As LongLong" in 64-bit VBA hosts
così si doveva a tutti, tranne che per ^
LongLong
, introdotto nel VBA7 per applicazioni host a 64-bit. Per quale motivo Microsoft abbia introdotto un nuovo suggerimento per un nuovo tipo di valore, tuttavia, è al di là di me.
E 'più sintassi veleno dello zucchero sintassi però, e risale tutta la strada di ritorno da ancestrali, le versioni dai dinosauri di BASIC prima che la clausola di As
era una cosa, per esempio in questo codice Commodore 64 BASIC 2.0 FizzBuzz:
1000 REM INIT VARIABLES
1010 LET FIZZ$ = "FIZZ"
1011 LET BUZZ$ = "BUZZ"
1020 LET FIZZ% = 3
1021 LET BUZZ% = 5
1030 LET MIN% = 1
1031 LET MAX% = 15
1100 PRINT FIZZ$ + ":" + STR$(FIZZ%)
1101 PRINT BUZZ$ + ":" + STR$(BUZZ%)
1102 PRINT FIZZ$ + BUZZ$ + ":" + STR$(FIZZ%*BUZZ%)
1105 PRINT
Come si può vedere, tipo i suggerimenti non sono l'unica paleo-codice che supporta VBA: numeri di riga, Rem
commenti e espliciti Let
assigments valore erano anche una cosa nel 1982. li evitare a tutti i costi.
In letterali, preferiscono conversioni esplicite nel corso Tipo suggerimenti:
Debug.Print TypeName(32&) 'prints Long
Debug.Print TypeName(CLng(32)) 'prints Long
Chiedetevi non è se si può , chiedetevi se si dovrebbe. - sconosciuto
fonte
2016-12-08 16:32:15
Scappare! Scappa! Scappa ancora un po '! Questi sono orribili avanzi che non dovrebbero essere usati, punto. Il più vicino che io abbia mai visto è che uso 'Right $', 'Left $',' Mid $' e 'Trim $' per forzare il ritorno delle stringhe piuttosto che la Variant restituita dalle versioni senza' $ ', – RolandTumble
@Roland , d'accordo! Li uso per esattamente uno scopo: http: // StackOverflow.it/questions/3047239/is-there-a-universal-way-to-get-a-nice-testuale-rappresentazione-di-una-variabile-in-vb/3047931 # 3047931 – jtolle
Accetto con Roland, ma ancora +1 per la domanda e il termine _Syntax sugar_ È come un codice che ti dà un bacio. (Sì, sono solo.) – ray