Тук ще намерите някои съвети, които трябва да вземете предвид, когато започнете да разработвате свои собствени решения на Excel VBA. Следването на тези насоки не е панацея, която да ви предпази от проблеми (програмиране), но спазването им може да ви помогне да избегнете клопките, в които другите са се натъкнали.
Декларирайте всички променливи
Колко удобно е: Просто започнете да въвеждате своя VBA код, без да се налага да преминавате през досадната работа по деклариране на всяка променлива, която искате да използвате. Въпреки че Excel ви позволява да използвате недекларирани променливи, това просто изисква проблеми.
Първата заповед на VBA програмирането трябва да бъде следната:
Трябва да декларирате всяка променлива.
Ако ви липсва самодисциплина, добавете изявление „Option Explicit“ в горната част на вашите модули. По този начин вашият код дори няма да се изпълнява, ако включва една или повече недекларирани променливи. Недекларирането на всички променливи има само едно предимство: спестявате няколко секунди. Но използването на недекларирани променливи в крайна сметка ще ви преследва.
Не бъркайте паролите със сигурността
Просто защитете с парола проекта VBA и сте в безопасност, нали? Грешно.
Използването на VBA парола може да попречи на повечето случайни потребители да преглеждат кода ви. Но ако някой наистина иска да го провери, той ще разбере как да разбие паролата.
В крайна сметка? Ако абсолютно, положително трябва да запазите кода си в тайна, Excel не е най-добрият избор за платформа за разработка.
Почистете кода си
След като приложението ви работи за ваше удовлетворение, трябва да го почистите. Задачите за поддържане на кода включват следното:
-
Уверете се, че всяка променлива е декларирана.
-
Уверете се, че всички редове са с отстъп, така че структурата на кода да е очевидна.
-
Премахнете всички помощни средства за отстраняване на грешки, като MsgBox изрази на изрази Debug.Print.
-
Преименувайте всички променливи с лошо име. Например, ако използвате променливата MyVariable, има доста голям шанс да направите името на променливата по-описателно. По-късно ще си благодарите.
-
Вашите модули вероятно имат няколко „тестови“ процедури, които сте написали, докато се опитвате да разберете нещо. Те са изпълнили целта си, така че ги изтрийте.
-
Добавете коментари, за да разберете как работи кодът, когато го прегледате отново след шест месеца.
-
Уверете се, че всичко е изписано правилно - особено текст в потребителските форми и кутиите за съобщения.
-
Проверете за излишен код. Ако имате две или повече процедури, които имат идентични блокове код, помислете за създаване на нова процедура, която други процедури могат да извикат.
Не поставяйте всичко в една процедура
Искате ли да направите неразбираема програма? Ефикасен начин да постигнете това е да поставите целия си код в една хубава голяма процедура. Ако някога прегледате тази програма отново, за да направите промени, неизбежно ще направите грешки и ще въведете някои добре изглеждащи грешки.
Виждате ли проблема? Решението е модулен код. Разделете програмата си на по-малки парчета, като всяка част е предназначена да изпълнява конкретна задача. След като усвоите този навик, ще откриете, че писането на код без грешки е по-лесно от всякога.
Обмислете друг софтуер
Excel е удивително гъвкава програма, но не е подходяща за всичко. Когато сте готови да предприемете нов проект, отделете време, за да обмислите всичките си възможности. Да перифразирам една стара поговорка: „Когато всичко, което знаете, е Excel VBA, всичко изглежда като VBA макрос.“
Не предполагайте, че всички активират макроси
Както знаете, Excel ви позволява да отворите работна книга с деактивирани макроси. Всъщност, това е почти сякаш дизайнерите на последните версии на Excel искат потребителите да деактивират макроси.
Разрешаването на макроси, когато отваряте работна книга от неизвестен източник, разбира се, не е добра идея. Така че трябва да познавате своите потребители. В някои корпоративни среди всички макроси на Microsoft Office са деактивирани и потребителят няма избор по въпроса.
Едно нещо, което трябва да имате предвид, е добавянето на цифров подпис към работните книги, които разпространявате на други хора. По този начин потребителят може да бъде сигурен, че работните книги всъщност идват от вас и че не са били променяни. Консултирайте се със системата за помощ за повече информация относно цифровите подписи.
Създайте си навика да експериментирате
Създаването на прости експерименти почти винаги е много по-ефективно от включването на нова идея в съществуващия ви код, без да разбирате какво носят тези експерименти.
Не предполагайте, че вашият код ще работи с други версии на Excel
В момента най-малко пет версии на Excel обикновено се използват по целия свят. Когато създавате приложение на Excel, нямате абсолютно никаква гаранция, че то ще работи безупречно в по-стари или по-нови версии. В някои случаи несъвместимостта ще бъде очевидна. Но също така ще откриете, че нещата, които трябва да работят с по-ранна версия, не работят.
Excel включва удобен инструмент за проверка на съвместимостта (изберете Файл → Информация → Проверка за проблеми → Проверка на съвместимостта), но той проверява само работната книга и игнорира VBA кода. Единственият начин да сте сигурни, че приложението ви работи с версии, различни от тази, с която сте го създали, е да го тествате в тези версии.
Имайте предвид потребителите си
Ако разработвате приложения за други, работата ви е по-трудна, защото не можете да правите същите типове предположения, както правите, когато разработвате за себе си.
Например, можете да бъдете по-леки с обработката на грешки, ако сте единственият потребител. Ако се появи грешка, ще имате доста добра идея къде да търсите, за да можете да я поправите. Ако някой друг използва вашето приложение и се появи същата грешка, той или тя няма да има късмет. И когато работите със собственото си приложение, обикновено можете да се справите без инструкции.
Трябва да разберете нивото на умения на тези, които ще използват вашите работни тетрадки, и да се опитате да предвидите проблеми, които може да имат. Опитайте се да си представите себе си като нов потребител на вашето приложение и идентифицирайте всички области, които могат да причинят объркване или проблеми.
Не забравяйте за архивирането
Нищо не е по-обезсърчаващо от срив на твърдия диск без резервно копие. Ако работите по важен проект, задайте си прост въпрос: „Ако компютърът ми умре тази вечер, какво ще загубя?“ Ако отговорът ви е повече от няколко часа работа, трябва да разгледате внимателно процедурата за архивиране на вашите данни. Имате процедура за архивиране на данни, нали?