Recherche…


Remarques

Les chaînes sont un type de référence et sont au centre de la plupart des tâches de programmation. Du texte est assigné aux chaînes, même si le texte est numérique. Les chaînes peuvent être de longueur zéro ou de toute longueur jusqu'à 2 Go. Les versions modernes de VBA stockent les chaînes en interne à l'aide d'un tableau d'octets contenant des octets de jeu de caractères multi-octets (une alternative à Unicode).

Déclarer une chaîne constante

Const appName As String = "The App For That"

Déclarez une variable de chaîne de largeur variable

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

Déclarez et attribuez une chaîne de largeur fixe

'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"

Déclarez et attribuez un tableau de chaînes

'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"

Attribuer des caractères spécifiques dans une chaîne à l'aide de l'instruction Mid

VBA offre une fonction Mid pour renvoyer des sous-chaînes dans une chaîne, mais elle offre également la déclaration intermédiaire qui peut être utilisée pour attribuer des sous-chaînes ou des caractères individuels à une chaîne.

La fonction Mid apparaîtra généralement à droite d'une instruction d'affectation ou dans une condition, mais l'instruction Mid apparaît généralement à gauche d'une instruction d'affectation.

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

Remarque: Si vous devez affecter des octets individuels dans une chaîne plutôt que des caractères individuels dans une chaîne (voir les remarques ci-dessous concernant le jeu de caractères multi-octets), l'instruction MidB peut être utilisée. Dans ce cas, le deuxième argument de l’instruction MidB est la position basée sur 1 de l’octet où le remplacement commencera. La ligne équivalente à l’exemple ci-dessus serait MidB(surname, 5, 2) = "y" .

Affectation à et depuis un tableau d'octets

Les chaînes peuvent être affectées directement aux tableaux d'octets et inversement. Rappelez-vous que les chaînes sont stockées dans un jeu de caractères multi-octets (voir Remarques ci-dessous).

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow