Sunday, June 25, 2023

„Laufzeitfehler 5“, wenn Sie die Funktionen Mid(), Left() oder Right() verwenden – Microsoft-Support

Eine Microsoft Word 97-Version dieses Artikels finden Sie unter 181102 .

Eine Microsoft Word 98-Version dieses Artikels finden Sie unter 181103 .

Eine Microsoft Word 2000-Version dieses Artikels finden Sie unter 201979 .

Wenn Sie in Microsoft Visual Basic für Applikationen (VBA) die Funktionen Mid(), Right() oder Left() verwenden, wird möglicherweise die folgende Fehlermeldung angezeigt:

Laufzeitfehler „5": „Ungültiger Prozeduraufruf oder ungültiges Argument"

Symptome

Dieses Verhalten tritt auf, wenn das Längenargument für die Anweisung negativ ist.

Die Funktion Mid() gibt einen Teil einer Textzeichenfolge zurück, beginnend an einer bestimmten Zeichenposition. Die Syntax für den Befehl lautet wie folgt

 Mid(<string>, <start> [, <length>])

Dabei ist <string> die zu durchsuchende Textzeichenfolge, <start> die Zeichenposition, ab der begonnen werden soll, und <length> die Anzahl der zurückzugebenden Zeichen. Wenn kein <Länge>-Argument angegeben ist oder der Text weniger als <Länge> Zeichen enthält, gibt die Funktion alle Zeichen von der <Start>-Position bis zum Ende der Zeichenfolge zurück.

Ursache

Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Gewährleistung. Dazu gehören unter anderem stillschweigende Garantien der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der demonstrierten Programmiersprache und den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können dabei helfen, die Funktionalität einer bestimmten Prozedur zu erläutern, sie werden diese Beispiele jedoch nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen. Für weitere Informationen klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

290140 Anleitung zum Ausführen des Beispielcodes für die Office XP-Programme aus Knowledge Base-Artikeln

Um dieses Problem zu beheben, testen Sie unbedingt die Länge der Zeichenfolge, wie im folgenden Beispiel:

 Sub ErrorDoesNotOccur()

Dim Test As String
Dim ReturnText As String

' Empty string, could be passed as an empty dialog
' variable, for example.
Test = ""

' Test the length of the string to ensure
' that subtracting 1 from the length leaves
' at least 1 character.
If Len(Test) - 1 > 0 then
ReturnText = Mid(Test, Len(Test) - 1)
End If

End Sub

Auflösung

No comments:

Post a Comment