Suche…


Bemerkungen

Zeichenfolgen sind ein Referenztyp und für die meisten Programmieraufgaben von zentraler Bedeutung. Zeichenfolgen wird Text zugewiesen, auch wenn der Text numerisch ist. Zeichenfolgen können eine Länge von null oder eine beliebige Länge von bis zu 2 GB haben. Moderne Versionen von VBA speichern Strings intern mit einem Byte-Array aus Bytes mit mehreren Byte-Zeichensätzen (Alternative zu Unicode).

Deklarieren Sie eine String-Konstante

Const appName As String = "The App For That"

Deklarieren Sie eine Stringvariable mit variabler Breite

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

Deklarieren und weisen Sie eine Zeichenfolge mit fester Breite zu

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

Deklarieren Sie und weisen Sie ein String-Array zu

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

Weisen Sie mithilfe der Mid-Anweisung bestimmte Zeichen innerhalb einer Zeichenfolge zu

VBA bietet eine Mid-Funktion für die Rückgabe von Teilstrings innerhalb eines Strings, aber auch das Mid- Statement, mit dem Sie Teilstrings oder einzelne Zeichen mit einem String zuweisen können.

Die Mid Funktion wird normalerweise auf der rechten Seite einer Zuweisungsanweisung oder in einer Bedingung angezeigt. Die Mid Anweisung wird jedoch normalerweise auf der linken Seite einer Zuweisungsanweisung angezeigt.

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

Hinweis: Wenn Sie einzelnen Bytes in einer Zeichenfolge anstelle von einzelnen Zeichen in einer Zeichenfolge zuweisen müssen (siehe Anmerkungen zum Multi-Byte-Zeichensatz), kann die MidB Anweisung verwendet werden. In diesem Fall ist das zweite Argument für die MidB Anweisung die 1-basierte Position des Bytes, an dem die Ersetzung beginnen soll. Die entsprechende Zeile zum obigen Beispiel wäre also MidB(surname, 5, 2) = "y" .

Zuordnung zu und von einem Bytearray

Zeichenfolgen können Byte-Arrays direkt zugewiesen werden und umgekehrt. Denken Sie daran, dass Strings in einem Multi-Byte-Zeichensatz gespeichert werden (siehe Anmerkungen unten), sodass nur jeder andere Index des resultierenden Arrays den Teil des Zeichens darstellt, der in den ASCII-Bereich fällt.

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow