Wenn ich in VBA arbeite, kann ich einer initialisierten String-Variablen keinen String zuweisen (Kompilierungsfehler:voraussichtliches Ende der Aussage)

StackOverflow https://stackoverflow.com//questions/24039148

Frage

Ich arbeite in einem Modul im Zugriff und versuche, Variablen zu initialisieren.Aus irgendeinem Grund die Erklärung:

Dim ModName As String = "modWindowsFileSystem" 

erzeugt am „=“ einen Kompilierungsfehler mit der Fehlermeldung „Expected:end of Statement“.Ich habe das Format auf mehreren Websites nachgeschlagen, die alle mit meiner Syntax übereinstimmen. Hier ist ein vertrauenswürdiges Format:http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspxEine andere Website schlug vor, die Variable innerhalb einer Funktion zu deklarieren, z

Sub AssignValueString()
   Dim Modname As String
   Modname = "modWindowsFileSystem"
End Sub

aber das scheint unnötig.Ein mögliches Problem besteht darin, dass ich das Modul gespeichert und ihm den Namen „modWindowsFileSystem“ gegeben habe.Ich bin mir nicht sicher, ob dies irgendwie zu Konflikten mit der Initialisierung dieser Variablen führen wird.

War es hilfreich?

Lösung

VBA unterscheidet sich ein wenig von VB.Der von Ihnen gepostete MSDN-Link ist eigentlich für VB, was Inline-Deklarationen und -Zuweisungen ermöglicht.VBA lässt dies leider nicht zu.

Sie können sie also entweder aufteilen, wie in Ihrem Beispiel:

Dim Modname As String
Modname = "modWindowsFileSystem"

Oder Sie können das Fortsetzungszeichen platzieren : um dies auf einer Zeile zu erreichen.

Dim Modname As String : Modname = "modWindowsFileSystem"

Was die Zuweisung für die Variablen eines Moduls betrifft, können Sie globale Variablen außerhalb einer Funktion deklarieren, müssen ihren Wert jedoch innerhalb einer Funktion festlegen, z. B. einer init() Funktion.Konstanten (beschriftet mit Const) kann außerhalb einer Funktion deklariert und zugewiesen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top