Работа в VBA, я не могу назначить строку в initylialized String Cariable (ошибка компиляции: ожидаемый конец оператора)
-
21-12-2019 - |
Вопрос
Я работаю в модуле в доступе, пытаясь инициализировать переменные.По какой-то причине декларация:
Dim ModName As String = "modWindowsFileSystem"
.
Создает ошибку компиляции в «=» с сообщением об ошибке «Ожидаемое: конец оператора».Я посмотрел на формат на веб-сайтах Mutiple, что все согласны с моим синтаксисом, здесь является надежным: http://msdn.microsoft.com/en-us/library/7eee5a7s1.aspx. Другой сайт предложил, я объявляю переменную внутри функции, такой как
Sub AssignValueString()
Dim Modname As String
Modname = "modWindowsFileSystem"
End Sub
.
Но это кажется ненужным.Одним из проблем, которая может быть рассмотрена, я сохранил модуль и назвал его ModwindowsFileSystem.Я не уверен, что это будет как-то конфликтуйте с инициализацией этой переменной.
Решение
VBA немного отличается от VB.Соглашенная вами ссылка MSDN на самом деле для VB, которая позволяет встроить объявления и назначение.VBA не позволит этому, к сожалению.
Так, вы можете разделить их, как ваш пример:
Dim Modname As String
Modname = "modWindowsFileSystem"
.
или, вы можете разместить генеракодицет-код продолжения символа для достижения этого на одну строку.
Dim Modname As String : Modname = "modWindowsFileSystem"
.
Насколько к назначению переменных модуля вы можете объявить глобальные переменные вне функции, но вам нужно будет установить их значение в функции, например функцию :
.Константы (с надписью init()
) могут быть объявлены и назначены вне функции.