Lavorando in VBA, non posso assegnare una stringa a una variabile di stringa inizializzata (errore di compilazione: estratto di istruzione prevista)
-
21-12-2019 - |
Domanda
Sto lavorando in un modulo nell'accesso cercando di inizializzare le variabili.Per qualche motivo la dichiarazione:
Dim ModName As String = "modWindowsFileSystem"
.
crea un errore di compilazione presso il '=' con il messaggio di errore "previsto: fine della dichiarazione".Ho cercato il formato sui siti Web di Muiresi che sono tutti d'accordo con la mia sintassi qui è un affidabile: http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspx. Un altro sito web ha suggerito di dichiarare la variabile all'interno di una funzione come
Sub AssignValueString()
Dim Modname As String
Modname = "modWindowsFileSystem"
End Sub
.
Ma questo sembra inutile.Un problema che può essere considerato è che ho salvato il modulo e ha nominato IT ModwindowsfilesSystem.Non sono sicuro se questo sarà in conflitto in qualche modo con l'inizializzazione di quella variabile.
Soluzione
VBA è un po 'diverso da VB.Il link MSDN che hai pubblicato è in realtà per VB, che consente dichiarazioni ed incarico in linea.VBA non lo consentirà, purtroppo.
Quindi, puoi dividerli, come il tuo esempio:
Dim Modname As String
Modname = "modWindowsFileSystem"
.
Oppure, è possibile posizionare il carattere di continuazione :
per ottenere questo su una riga.
Dim Modname As String : Modname = "modWindowsFileSystem"
.
Per quanto riguarda l'assegnazione delle variabili di un modulo, è possibile dichiarare le variabili globali al di fuori di una funzione, ma è necessario impostare il loro valore all'interno di una funzione, come una funzione init()
.Le costanti (etichettate con Const
) possono essere dichiarate e assegnate al di fuori di una funzione.