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)

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

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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top