Al trabajar en VBA, no puedo asignar una cadena a una variable de cadena inicializada (error de compilación:final esperado de la declaración)
-
21-12-2019 - |
Pregunta
Estoy trabajando en un módulo de acceso intentando inicializar variables.Por alguna razón la declaración:
Dim ModName As String = "modWindowsFileSystem"
crea un error de compilación en '=" con el mensaje de error "Esperado: fin de la declaración".He buscado el formato en varios sitios web que coinciden con mi sintaxis. Aquí es confiable:http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspxOtro sitio web sugirió que declarara la variable dentro de una función como
Sub AssignValueString()
Dim Modname As String
Modname = "modWindowsFileSystem"
End Sub
pero eso parece innecesario.Un problema que se puede considerar es que guardé el módulo y lo llamé modWindowsFileSystem.No estoy seguro de si esto entrará en conflicto de alguna manera con la inicialización de esa variable.
Solución
VBA es un poco diferente de VB.El enlace msdn que publicó es en realidad para VB, que permite declaraciones y asignaciones en línea.Desafortunadamente, VBA no permitirá esto.
Entonces, puedes dividirlos, como en tu ejemplo:
Dim Modname As String
Modname = "modWindowsFileSystem"
O puedes colocar el personaje de continuación. :
para lograr esto en una línea.
Dim Modname As String : Modname = "modWindowsFileSystem"
En cuanto a la asignación de las variables de un módulo, puedes declarar variables globales fuera de una función, pero necesitarás establecer su valor dentro de una función, como un init()
función.Constantes (etiquetadas con Const
) se puede declarar y asignar fuera de una función.