Страницы: 1
RSS
Использование Me., Call, Unload...
 
В коде ссылки на элементы формы прописываются через Me.  
Передача управления другому макросу - Call имя_макроса.  
Без Me. и Call прекрасно работает, но замечено, что код в таком случае хуже читается, через некоторое время приходится вспоминать, что к чему.  
Вопрос - прав ли я? :)  Т.е. отсутствие не сказывается на работоспособности, скорости?  
 
Форму можно закрывать через End, а можно и Unload. В последнем случае форма выгружается из памяти. А при End? тоже выгружается или "зависает" и ворует память?
 
Почему я использую тот или иной способ:  
 
1) Me. перед названием контрола пишу лишь для того, чтобы получить выпадающий список свойств и контролов на форме.  
Т.е. вместо того, чтобы набирать combobox1.value = 1 я набираю me.co.va = 1  
Все остальное дописывает IntelliSence  
 
2) Call перед названием макроса никогда не пишу - не вижу смысла вводить лишние символы.  
Согласитесь, написать Макрос1 проще, чем писать Call "Макрос1"  
 
3) Unload выгружает форму из памяти, .Hide - скрывает (форма остаётся загруженной в память)  
End - это из другой серии (останов всех макросов)  
После строки End прекращается выполнение всех дальнейших инструкций.  
После же Unload или .Hide инструкции могут продолжать выполняться.
 
Спасибо. Все понятно.  
По Call все-таки не согласен - просто имя макроса иногда воспринимается с трудом, нужно еще вспомнить, что это писалось :)  
Или это от опыта зависит?
 
Вить, я всегда пишу Call - нагляднее. А Игорь специально вредничает. Он ещё из вредности имя макроса закавычил, чтобы тебя запугать количеством лишних символов. :-)
 
me, call  - это как нравится - я, например, me не использую, а call - частенько..  
 
unload - тут уже существенно. в отличие от hide выгружает форму из памяти(исключает из коллекции userforms). Как следствие, при след show запускается инициализация..  
 
end - выгружает весь проект(все формы, переменные)
Живи и дай жить..
 
А я Call всегда использую. Т.к. в тёрном тексте найти строку с вызовом другого макроса сложно, а слово Call служебное (зарезервированное) и оно всегда выделяется синим цветом, поэтому эту строку с вызовом макроса сразу видно из общего текста
 
{quote}{login=}{date=15.06.2010 01:36}{thema=}{post}А я Call всегда использую. Т.к. в тёрном тексте найти строку с вызовом другого макроса сложно, а слово Call служебное (зарезервированное) и оно всегда выделяется синим цветом, поэтому эту строку с вызовом макроса сразу видно из общего текста{/post}{/quote}  
 
это если у вас мало вызовов(текста) :)
 
Ну, если программу пишешь "на сторону" или она настолько простая, что и так всё очевидно, ко можно, конечно, пренебречь и осмысленными именами переменных, меток и процедур, и Call, и комментариями...  
Но если программа не стандартна и решения не очевидны (не являются "прописными истинами") то лучше, всё-таки "рюшечками" не пренебрегать. Самому же потом, если вдруг понадобится, проще будет разобраться: "А как там что-то подкорректировать?"...
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Тема подтвердила - "рюшечки" нужны, хотя раньше считал это излишеством.
Страницы: 1
Читают тему
Наверх
Loading...