VBA бағдарламашысы үшін пайдалылық

Егер сіз «макростар» сөзін қорқынышты тыныспен және екінші буынға екпінмен айтсаңыз және «Қолданбаларға арналған Visual Basic» тіркесі сізге заклинание сияқты естілсе, онда бұл мақала сізге арналмаған. Қалай болғанда да, әзірге 🙂

Excel бағдарламасында VBA-да макростарды бағдарламалауда кем дегенде біраз тәжірибеңіз болса және тоқтауды жоспарламасаңыз, төменде келтірілген пайдалы қондырмалар мен бағдарламаларды таңдау сізге (кем дегенде ішінара) пайдалы болуы керек.

MZ-Tools – бағдарламашыға арналған «Швейцариялық пышақ».

Мәзірдегі VBE редакторында орнатқаннан кейін құралдары ішкі мәзір пайда болады MZ-құралдар және сол функцияларға жылдам қол жеткізуге арналған жаңа құралдар тақтасы:

VBA бағдарламашысы үшін пайдалылық

Ол көп нәрсені қалай жасау керектігін біледі. Ең құндысы, менің ойымша:

  • Венгриялық жүйеге сәйкес айнымалыларды дұрыс атаумен процедураларды, функцияларды, оқиғаларды және қателерді өңдеушілерді жасау үшін «бос балықты» автоматты түрде қосыңыз.
  • Пайдаланушы пішіндеріндегі басқару элементтерін олардың кодымен бірге көшіріңіз.
  • Процедуралар үшін бетбелгілерді (Таңдаулылар) жасаңыз және оларға үлкен жобада жылдам көшіңіз.
  • Ұзын код жолдарын бірнешеге бөліп, қайта жинаңыз (жолдарды бөлу және біріктіру).
  • Жоба бойынша егжей-тегжейлі статистиканы шығару (код жолдарының саны, процедуралар, пішіндердегі элементтер және т.б.)
  • Жобада пайдаланылмаған айнымалылар мен процедураларды тексеріңіз (Шолу көзі)
  • Әдеттегі жағдайлар үшін код үлгілерінің жеке базасын (Код үлгілері) жасаңыз және оларды кейінірек жаңа макростарға жылдам енгізіңіз.
  • ADO арқылы сыртқы деректер көздеріне қосылу үшін автоматты түрде ұзын және қорқынышты жолды жасаңыз.
  • Қосымшадағы кез келген функцияға жылдам пернелерді тіркеңіз.

Кез келген деңгейдегі бағдарламашы үшін бір мағыналы қажет нәрсе. Егер сізде Office бағдарламасының соңғы нұсқасы болса, онда 3.00.1218 наурыздағы MZ-Tools 1 соңғы нұсқасын жүктеп алуды ұмытпаңыз, себебі. ол Excel 2013 бағдарламасымен жұмыс істеу кезінде қатені түзетті.  

жүктеу сілтемесі MZ-құралдар

Smart Indenter – кодтағы автоматты шегініс

Ол бір қарапайым, бірақ өте қажетті операцияны жақсы орындайды – ол VBA кодындағы қойындыларды автоматты түрде шегіндіреді, кірістірілген циклдарды, жағдайды тексеруді және т.б.

VBA бағдарламашысы үшін пайдалылық

Бұл әрекетті бөлімдегі кез келген ыңғайлы пернелер тіркесіміне тағайындау өте ыңғайлы Шегініс опциялары және оны бір түрту арқылы жасаңыз.

Өкінішке орай, бағдарламаның авторы оны 2005 жылы тастап кетті (неге, Карл!?) және сайттағы соңғы нұсқасы Excel 97-2003 нұсқасына арналған. Дегенмен, бағдарлама жаңа нұсқалармен жақсы жұмыс істейді. Жалғыз ескерту: егер сізде Excel 2013 болса, Smart Indenter бағдарламасын орнатпас бұрын алдымен MZ-Tools бағдарламасының соңғы нұсқасын орнату керек, өйткені. онда Indenter жұмысына қажетті динамикалық кітапхана бар.

жүктеу сілтемесі Smart Indenter

VBE Tools – пішіндердегі микро баптау элементтері

Күрделі пішіндегі басқару элементтерін (түймелерді, енгізу өрістерін, мәтіндік белгілерді және т.б.) туралау қиын болуы мүмкін. Мәзір арқылы редактор торына стандартты байланыстыру Құралдар — Параметрлер — Жалпы — Басқару элементтерін торға туралаңыз кейде ол көп көмектеспейді және тіпті жолға түсе бастайды, әсіресе, мысалы, түймені сәл ғана жылжыту керек болса. VBE Tools қондырмасы осы мәселеде көмектеседі, ол орнатқаннан кейін таңдалған элементтің пішіндегі өлшемі мен орнын дәл баптай алатын қарапайым панельді көрсетеді:

VBA бағдарламашысы үшін пайдалылық

Орынды ауыстыруды Alt+көрсеткілерімен де, өлшемін өзгертуді Shift+Alt+көрсеткілерімен және Ctrl+Alt+көрсеткілерімен жасауға болады.

Сондай-ақ, элементті тінтуірдің оң жақ түймешігімен басу арқылы оның атын кодпен бірге бірден өзгертуге болады.

жүктеу сілтемесі VBE құралдары

VBA Diff – кодтағы айырмашылықтарды табу

Бұл құрал үлкен және күрделі жобаларды жасау немесе бірлескен даму кезінде кәсіби VBA бағдарламашыларына пайдалырақ болуы мүмкін. Оның негізгі функциясы екі жобаны салыстыру және олардың арасындағы код айырмашылығын көрнекі түрде көрсету болып табылады:

VBA бағдарламашысы үшін пайдалылық

30 күндік бос кезең бар, содан кейін қосымша ол үшін 39 фунт төлеуді сұрайды (ағымдағы бағам бойынша шамамен 3.5 мың рубль).

Шынымды айтсам, бұл менің өмірімде өте үлкен жобаларда 3-4 рет пайдалы болды, бірақ кейін ол мені бірнеше күн және көптеген жүйке жасушаларын құтқарды 🙂 Әрине, әрқашан тегін балама бар: экспорттау мәтіндік файлға код (модульді тінтуірдің оң жақ түймешігімен басыңыз – экспорт) және оларды кейінірек Microsoft Word бағдарламасында пәрмен арқылы салыстырыңыз Қарау – Құжаттарды салыстыру, бірақ VBA Diff көмегімен бұл шама реті ыңғайлырақ.

жүктеу сілтемесі VBA айырмашылығы

Moqups және Wireframe Sketcher – интерфейсті прототиптеу

Қолданушының өзара әрекеттесуі үшін күрделі интерфейстерді құру кезінде диалогтық терезелердің шамамен сыртқы түрін алдын ала жобалау өте ыңғайлы, яғни орындау прототипі бар. Шын мәнінде, бұл дайын пішіндерді және олардың кодын кейінірек қайта жасаудан әлдеқайда оңай болып шықты. Бір рет жобалардың бірінде тапсырыс беруші «қойындылар» дегенді білдіретін «мәзір» жасауды сұрағаны есімде. Жарты күндік жұмыс іркіліп қалды 🙁

Бұл тапсырмалар үшін әртүрлі деңгейдегі күрделілік пен қуаттағы ақылы және ақысыз бағдарламалардың үлкен саны бар. Мен он шақты осындай бағдарламалар мен қызметтерді қолданып көрдім, соңғы уақытта мен жиі қолданамын Моқуптар:

VBA бағдарламашысы үшін пайдалылық

Бұл онлайн редактор:

  • Бөлек бағдарламаларды орнатуды қажет етпейді. Сіз әрқашан клиенттің кеңсесіне келіп, сайтта жасалған интерфейсті ашып-көрсете-түзе аласыз.
  • Windows және Mac нұсқаларында диалогтық терезелердің барлық негізгі элементтерін (белгілер, түймелер, тізімдер және т.б.) қамтиды.
  • Жасалған интерфейсті PNG немесе PDF пішімінде экспорттауға немесе желіде көру үшін клиентке сілтеме жіберуге мүмкіндік береді.
  • Іс жүзінде тегін. Графикалық элементтердің санына шектеулер бар, бірақ мен ешқашан олардың шегінен шыға алмадым. Егер сізде бос орын қалса немесе бірнеше ірі жобаны бірден сақтағыңыз келсе, сіз әрқашан жылына $99 төлеп премиум нұсқасына жаңарта аласыз.

Жалпы, VBA-дағы әзірлеуші ​​​​міндеттері үшін - менің ойымша, жеткілікті.

Егер кез келген адамға офлайн опциясы қажет болса (мысалы, теңіз жағасында Интернетке қосылусыз жұмыс істеу), онда мен ұсынамын Wireframe Sketcher:

VBA бағдарламашысы үшін пайдалылық

2 апта бойы тегін демонстрациядан кейін ол сізден дәл сол 99 долларға сатып алуды сұрайды.

Сілтеме үшін Моқуптар

жүктеу сілтемесі Wireframe Sketcher

Invisible Basic – кодты обфускатор

Өкінішке орай, Microsoft Excel бағдарламасында макростарыңыздың бастапқы кодын құпия сөзбен қауіпсіз құлыптау мүмкін емес. Дегенмен, деп аталатын бағдарламалардың тұтас класы бар обфускаторлар (Ағылшын тілінен. шатастыру – шатастыру, шатастырып алу), VBA кодының көрінісін оқу және түсіну өте қиын болатындай етіп өзгертетін, атап айтқанда:

  • айнымалылардың, процедуралардың және функциялардың атаулары ұзақ мағынасыз таңбалар жиынымен немесе керісінше қысқа алфавиттік түсініксіз белгілермен ауыстырылады.
  • көрнекі кесте шегіністері жойылады
  • жойылады немесе керісінше жол үзілімдері кездейсоқ орналастырылады және т.б.

Шынымды айтсам, мен бұл әдістерді қолдануды ұнатпаймын. Атап айтқанда, PLEX арқылы мен сатып алушыларға толық нұсқасын ашық, түсінікті және түсінікті бастапқы кодты берген дұрыс деп шештім - бұл маған дұрысырақ көрінеді. Соған қарамастан, менің бағдарламашы әріптестерімде мұндай бағдарлама өте пайдалы болатын жағдайлар бірнеше рет болды (бағдарламашы жұмысты жасады, бірақ клиент төлемеді, т.б.) Сондықтан сізге қажет болса, оны қайдан алу керектігін біліңіз. «Біз бейбіт халықпыз, бірақ біздің брондалған пойыз...» және тағы басқалар.

жүктеу Invisible Basic

Code Cleaner – кодты тазалау

Жобамен жұмыс істеу процесінде (әсіресе ол үлкен және ұзақ болса) кодтық модульдер мен пішіндерде «қоқыс» жинала бастайды - күтпеген және қажетсіз ақауларға әкелуі мүмкін VBE редакторының қызметі туралы ақпараттың үзінділері. Утилита Код тазалаушы бұл кірді қарапайым, бірақ сенімді жолмен тазартады: кодты модульдерден мәтіндік файлдарға экспорттайды, содан кейін оны таза түрде импорттайды. Мен ірі жобаларда жұмыс істегенде мезгіл-мезгіл осындай «тазалауды» жүргізуді ұсынамын.

жүктеу сілтемесі Код тазалаушы

Ribbon XML редакторы

Макростарыңызды іске қосу үшін Excel таспасындағы әдемі түймелермен өзіңіздің қойындыңызды жасағыңыз келсе, интерфейс XML файл өңдегішінсіз жасай алмайсыз. Бұл тұрғыда бүгінгі таңда ең қолайлы әрі қуаттысы отандық бағдарлама екені сөзсіз. Ribbon XML редакторыМаксим Новиков жасаған.

VBA бағдарламашысы үшін пайдалылық

Мүлдем тамаша бағдарламалық қамтамасыз ету, бұл:

  • таспаға жеке қойындыларды, түймелерді, ашылмалы тізімдерді және жаңа Office интерфейсінің басқа элементтерін оңай қосуға мүмкіндік береді.
  • тілін толығымен қолдайды
  • мәтінмәндік кеңестерді көрсету арқылы өңдеуге көмектеседі
  • сабақтар арқылы оңай меңгеруге болады
  • мүлдем тегін

жүктеу сілтемесі Ribbon XML редакторы

PS

Көптеген жылдар бойы Майкрософт VBA әзірлеушілерін елемей, оны төмен бағдарламалау тілі деп санады. Office бағдарламасының келесі нұсқасында енді Visual Basic болмайды немесе оны JavaScript ауыстырады деген қауесет мезгіл-мезгіл таралады. Visual Studio бағдарламасының жаңа нұсқалары үнемі жаңа жақсылықтармен шығады және VBE редакторы 1997 жылы қалып қойды, әлі де стандартты құралдармен кодты шегіндіре алмады.

Шындығында, мыңдаған адамдар күнделікті кеңсе деректерін өңдеу тәртібін автоматтандыру үшін макростар жасайтын VBA бағдарламашыларының арқасында сағаттар мен күндерді үнемдейді. Кодтың 10 жолындағы макростың жарты минутта 200 клиентке файлдарды жіберіп, үш сағаттық ақымақ жұмысты ауыстыратынын көрген адам мені түсінеді 🙂

Және одан да көп. 

Жоғарыда аталған бағдарламалардың барлығы менің жеке таңдауым және жеке тәжірибеге негізделген жеке ұсынысым. Авторлардың ешқайсысы менен жарнама сұраған жоқ және оған ақша төлемеген (және мен оны қабылдамас едім, принцип бойынша). Егер сізде жоғарыда аталған тізімге қосылатын нәрсе болса - түсініктемелерге қош келдіңіз, ризашылық білдіретін адамзат қарызда қалмайды.

 

пікір қалдыру