Ricerca…


Osservazioni

Le stringhe sono un tipo di riferimento e sono fondamentali per la maggior parte delle attività di programmazione. Alle stringhe viene assegnato del testo, anche se il testo sembra essere numerico. Le stringhe possono essere di lunghezza zero o qualsiasi lunghezza fino a 2 GB. Versioni interne di stringhe di archivio VBA moderne che utilizzano una matrice Byte di byte Set di caratteri a byte multiplo (un'alternativa a Unicode).

Dichiara una costante di stringa

Const appName As String = "The App For That"

Dichiarare una variabile di stringa a larghezza variabile

Dim surname As String 'surname can accept strings of variable length
surname = "Smith"
surname = "Johnson"

Dichiara e assegna una stringa a larghezza fissa

'Declare and assign a 1-character fixed-width string
Dim middleInitial As String * 1 'middleInitial must be 1 character in length
middleInitial = "M"

'Declare and assign a 2-character fixed-width string `stateCode`,
'must be 2 characters in length
Dim stateCode As String * 2
stateCode = "TX"

Dichiarare e assegnare un array di stringhe

'Declare, dimension and assign a string array with 3 elements
Dim departments(2) As String
departments(0) = "Engineering"
departments(1) = "Finance"
departments(2) = "Marketing"

'Declare an undimensioned string array and then dynamically assign with
'the results of a function that returns a string array
Dim stateNames() As String
stateNames = VBA.Strings.Split("Texas;California;New York", ";")

'Declare, dimension and assign a fixed-width string array
Dim stateCodes(2) As String * 2
stateCodes(0) = "TX"
stateCodes(1) = "CA"
stateCodes(2) = "NY"

Assegna caratteri specifici all'interno di una stringa usando l'istruzione Mid

VBA offre una funzione Mid per restituire sottostringhe all'interno di una stringa, ma offre anche l' istruzione Mid che può essere utilizzata per assegnare sottostringhe o singoli caratteri con una stringa.

La funzione Mid verrà in genere visualizzata sul lato destro di un'istruzione di assegnazione o in una condizione, ma in genere l'istruzione Mid viene visualizzata sul lato sinistro di un'istruzione di assegnazione.

Dim surname As String
surname = "Smith"

'Use the Mid statement to change the 3rd character in a string
Mid(surname, 3, 1) = "y"
Debug.Print surname

'Output:
'Smyth

Nota: se è necessario assegnare singoli byte in una stringa anziché singoli caratteri all'interno di una stringa (vedere le Note seguenti per quanto riguarda il set di caratteri Multi-Byte), è possibile utilizzare l'istruzione MidB . In questo caso, il secondo argomento per l'istruzione MidB è la posizione a 1 del byte in cui verrà MidB(surname, 5, 2) = "y" la sostituzione in modo che la riga equivalente dell'esempio precedente sia MidB(surname, 5, 2) = "y" .

Assegnazione ae da una matrice di byte

Le stringhe possono essere assegnate direttamente agli array di byte e viceversa. Ricordare che le stringhe sono memorizzate in un set di caratteri Multi-Byte (vedere Note sotto) in modo che solo ogni altro indice dell'array risultante sia la porzione del carattere che rientra nell'intervallo ASCII.

Dim bytes() As Byte
Dim example As String

example = "Testing."
bytes = example             'Direct assignment.

'Loop through the characters. Step 2 is used due to wide encoding.
Dim i As Long
For i = LBound(bytes) To UBound(bytes) Step 2
    Debug.Print Chr$(bytes(i))  'Prints T, e, s, t, i, n, g, .
Next

Dim reverted As String
reverted = bytes            'Direct assignment.
Debug.Print reverted        'Prints "Testing."


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow