Как выполнить код только один раз (при запуске программы?)
От: batmax  
Дата: 06.08.04 17:28
Оценка:
Как известно, At module level, you can use only comments and declarative statements. Значит, весь исполняемый код должен лежать внутри Procedures (к ним относятся Sub и Functions, а также Properties).
Но как же тогда выполнить что-либо (например, инициализацию переменных начальными значениями) ТОЛЬКО ОДИН РАЗ ? (при запуске ?)
Можно описать объектную переменную Dim Myvar as NEW MyClass, чтобы она проинициализировалась при первом её использовании (хотя это немного не то), но методов-конструкторов в VBA тоже нету ...
В первой своей (и пока единственной) программе на VBA я выкрутился таким образом: объявил булевскую переменную-флаг и проверяю её значение в каждой процедуре. Если она False (такое значение имеют сначала все булевские переменные по умолчанию), — вызываю процедуру инициализации, и присваиваю флагу True.
Но, по-моему, это неграмотно, потому что быстродействие страдает. А как надо правильно ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.