Trabalhando em VBA, eu não posso atribuir uma seqüência de caracteres para um initlialized variável de seqüência de caracteres (compilação de erro:o esperado final da instrução)

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

Pergunta

Eu estou trabalhando em um módulo de acesso a tentar inicializar variáveis.Por algum motivo, a declaração:

Dim ModName As String = "modWindowsFileSystem" 

cria uma compilação de erro no'=', com a mensagem de erro "o Esperado:fim da instrução".Eu olhei para o formato em vários sites que todos concordam com a minha sintaxe aqui é um confiável:http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspx Outro site sugeriu que eu declare a variável dentro de uma função, tal como

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

mas que parece desnecessário.Um problema que deve ser considerado é que eu tenha guardado o módulo e o nome a ela de modWindowsFileSystem.Eu não tenho certeza se isso vai conflito, de alguma forma, com a inicialização da variável.

Foi útil?

Solução

VBA é um pouco diferente do VB.O msdn link que você postou é, na verdade, para VB, o que permite inline declaração e atribuição.VBA não permitir que isso, infelizmente.

Assim, você pode dividi-los, como o exemplo:

Dim Modname As String
Modname = "modWindowsFileSystem"

Ou, você pode colocar o caractere de continuação de : para fazer isso em uma linha.

Dim Modname As String : Modname = "modWindowsFileSystem"

Quanto a atribuição de um módulo de variáveis, você pode declarar variáveis globais fora de uma função, mas você precisará definir o seu valor dentro de uma função, como um init() função.Constantes (rotulado com Const) pode ser declarado e atribuído de fora de uma função.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top