Travaillant en VBA, je ne parviens pas à attribuer une chaîne à une variable chaîne initialisée (erreur de compilation :fin prévue de la déclaration)

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

Question

Je travaille dans un module d'accès en essayant d'initialiser les variables.Pour une raison quelconque, la déclaration :

Dim ModName As String = "modWindowsFileSystem" 

crée une erreur de compilation au niveau du '=' avec le message d'erreur « Attendu : fin de l'instruction ».J'ai recherché le format sur plusieurs sites Web qui sont tous d'accord avec ma syntaxe, voici une syntaxe digne de confiance :http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspxUn autre site Web m'a suggéré de déclarer la variable dans une fonction telle que

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

mais cela semble inutile.Un problème qui peut être pris en compte est que j'ai enregistré le module et que je l'ai nommé modWindowsFileSystem.Je ne sais pas si cela entrera en conflit avec l'initialisation de cette variable.

Était-ce utile?

La solution

VBA est un peu différent de VB.Le lien msdn que vous avez publié concerne en fait VB, ce qui permet les déclarations et les affectations en ligne.VBA ne le permet malheureusement pas.

Ainsi, vous pouvez soit les diviser, comme dans votre exemple :

Dim Modname As String
Modname = "modWindowsFileSystem"

Ou bien, vous pouvez placer le caractère de continuation : pour y parvenir sur une seule ligne.

Dim Modname As String : Modname = "modWindowsFileSystem"

En ce qui concerne l'affectation des variables d'un module, vous pouvez déclarer des variables globales en dehors d'une fonction, mais vous devrez définir leur valeur dans une fonction, comme un init() fonction.Constantes (étiquetées avec Const) peut être déclaré et affecté en dehors d'une fonction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top