VBA программист үчүн пайдалуу

Эгерде сиз “макрос” сөзүн коркунучтуу дем менен жана экинчи муунга акцент менен айтсаңыз жана “Тиркемелер үчүн Visual Basic” деген сөз айкашы сиз үчүн сыйкыр сыяктуу сезилсе, анда бул макала сиз үчүн эмес. Кандай болгон күндө да, азырынча 🙂

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

MZ-Tools - программист үчүн "Швейцариялык бычак"

Менюдагы VBE редакторуна орнотулгандан кийин аспаптар субменю пайда болот MZ-Tools жана ошол эле функцияларга тез жетүү үчүн жаңы куралдар панели:

VBA программист үчүн пайдалуу

Ал көп нерсени жасаганды билет. Эң баалуу, менин оюмча:

  • Венгриялык системага ылайык өзгөрмөлөрдүн туура аталышы менен процедураларды, функцияларды, окуяларды жана каталарды иштетүүчүлөрдү түзүү үчүн автоматтык түрдө "бош балык" кошуңуз.
  • Колдонуучу формаларындагы башкаруу элементтерин коду менен бирге көчүрүңүз.
  • Процедуралар үчүн кыстармаларды (Сүйүктүүлөрдү) жасап, чоң долбоордо аларга тез өтүңүз.
  • Коддун узун саптарын бир нечеге бөлүп, кайра чогултуңуз (саптарды бөлүп, бириктириңиз).
  • Долбоор боюнча деталдуу статистиканы чыгаруу (код саптарынын саны, процедуралар, формалардагы элементтер ж.б.у.с.)
  • Долбоорду пайдаланылбаган өзгөрмөлөр жана жол-жоболорду текшериңиз (Карап чыгуу булагы)
  • Кадимки учурлар үчүн код калыптарынын өз базасын түзүңүз (Код шаблондору) жана аларды кийинчерээк жаңы макросторго тез киргизиңиз.
  • ADO аркылуу тышкы маалымат булактарына туташуу үчүн автоматтык түрдө узун жана коркунучтуу сап түзүңүз.
  • Кошумчадан каалаган функцияга ысык баскычтарды тиркеңиз.

Ар кандай деңгээлдеги программист үчүн сөзсүз болушу керек. Эгер сизде Officeтин эң акыркы версиясы бар болсо, анда 3.00.1218-марттагы MZ-Tools 1 акыркы версиясын жүктөп алууну унутпаңыз, анткени. ал Excel 2013 менен иштөөдө катаны оңдоду.  

Download -га шилтеме берген барактар MZ-Tools

Smart Indenter – коддогу автоматтык чегинүү

Ал бир жөнөкөй, бирок абдан керектүү операцияны жакшы аткарат – ал VBA кодундагы өтмөктөрдү автоматтык түрдө чегинтип, уяланган циклдерди, абалды текшерүүлөрдү, ж.б.

VBA программист үчүн пайдалуу

Бул аракетти бөлүмдөгү каалаган ыңгайлуу баскычтарга дайындоо абдан ыңгайлуу Чыгуу параметрлери жана муну бир тийүү менен жасаңыз.

Тилекке каршы, программанын автору аны 2005-жылы таштап кеткен (эмне үчүн, Карл!?) жана сайттагы акыркы версия Excel 97-2003 үчүн. Бирок, программа жаңы версиялары менен жакшы иштейт. Бир гана эскертүү: эгер сизде Excel 2013 бар болсо, анда Smart Indenterди орнотуудан мурун, адегенде MZ-Tools акыркы версиясын орнотуу керек, анткени. ал Indenterдин иши үчүн зарыл болгон динамикалык китепкананы камтыйт.

Download -га шилтеме берген барактар Smart Indenter

VBE куралдары – формалардагы микро жөндөө элементтери

Татаал формадагы башкаруу элементтерин (баскычтар, киргизүү талаалары, текст энбелгилери ж.б.) тегиздөө эшектин азабын болушу мүмкүн. Меню аркылуу редактордун торуна стандарттуу байланыш Куралдар — Параметрлер — Жалпы — Башкаруу элементтерин торго тегиздөө кээде ал анча деле жардам бербейт, атүгүл жолтоо боло баштайт, өзгөчө, мисалы, баскычты бир аз жылдырыш керек болсо. VBE Tools кошумчасы бул маселеде жардам берет, ал орнотулгандан кийин тандалган элемент үчүн форманын өлчөмүн жана абалын так жөнгө сала турган жөнөкөй панелди көрсөтөт:

VBA программист үчүн пайдалуу

Позицияны өзгөртүү Alt+жебелери менен, ал эми көлөмүн өзгөртүү Shift+Alt+жебелери жана Ctrl+Alt+жебелери менен да аткарылышы мүмкүн.

Ошондой эле, элементти оң баскыч менен чыкылдатуу менен, код менен бирге анын атын дароо өзгөртө аласыз.

Download -га шилтеме берген барактар VBE куралдары

VBA Diff – Коддогу айырмачылыктарды табуу

Бул курал профессионалдуу VBA программисттери үчүн чоң жана татаал долбоорлорду түзүүдө же биргелешип иштеп чыгууда көбүрөөк пайдалуу болот. Анын негизги милдети эки долбоорду салыштыруу жана алардын ортосундагы коддун айырмасын визуалдык түрдө көрсөтүү:

VBA программист үчүн пайдалуу

30 күндүк акысыз мөөнөт бар, андан кийин кошумча ал үчүн 39 фунт (учурдагы алмашуу курсу боюнча болжол менен 3.5 миң рубль) төлөөнү суранат.

Чынын айтсам, бул менин жашоомдо супер-чоң долбоорлордо 3-4 жолу гана пайдалуу болду, бирок кийин мени бир нече күн жана көптөгөн нерв клеткаларын сактап калды 🙂 Албетте, ар дайым бекер альтернатива бар: экспорттоо текст файлына код (модулду оң баскыч менен чыкылдатыңыз - экспорттоо) жана аларды кийинчерээк Microsoft Word'те буйрукту колдонуп салыштырыңыз Карап чыгуу - Документтерди салыштыруу, бирок VBA Diff жардамы менен чоңдуктун тартиби ыңгайлуураак.

Download -га шилтеме берген барактар VBA айырмасы

Moqups жана Wireframe Sketcher – интерфейсти прототиптөө

Колдонуучулардын өз ара аракеттенүүсү үчүн татаал интерфейстерди түзүүдө диалог кутучаларынын болжолдуу көрүнүшүн алдын ала долбоорлоо абдан ыңгайлуу, б.а. прототиптөө. Чынында, даяр формаларды жана алардын кодун кийинчерээк кайра жасоого караганда алда канча жеңил болуп чыкты. Мен долбоорлордун биринде бир жолу кардар "меню" жасоону суранганы эсимде, бул "өтмөк" дегенди билдирет. Жарым күндүк жумуш 🙁

Бул милдеттерди аткаруу үчүн ар кандай татаалдыктагы жана кубаттуулуктагы көптөгөн акы төлөнүүчү жана акысыз программалар бар. Мен онго жакын ушундай программаларды жана кызматтарды сынап көрдүм жана жакында мен көп колдоном moqups:

VBA программист үчүн пайдалуу

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

  • Өзүнчө программаларды орнотууну талап кылбайт. Сиз ар дайым кардардын кеңсесине келип, түзүлгөн интерфейсти түз сайттан ачып-көрсөтүү-түзөтө аласыз.
  • Windows жана Mac версияларында диалог кутучаларынын бардык негизги элементтерин (белгилер, баскычтар, тизмелер ж.б.) камтыйт.
  • Түзүлгөн интерфейсти PNG же PDF форматтарында экспорттоого же кардарга онлайн көрүү үчүн шилтемени жөнөтүүгө мүмкүндүк берет.
  • Чынында бекер. Графикалык элементтердин санына чектөөлөр бар, бирок мен эч качан алардын чегинен чыга алган эмесмин. Эгер сизде орун калбай калса же бир эле учурда бир нече ири долбоорлорду сактагыңыз келсе, жылына 99 долларга премиум версияга жаңырта аласыз.

Жалпысынан алганда, VBAдагы иштеп чыгуучунун тапшырмалары үчүн - менимче.

Эгерде кимдир бирөө офлайн режимине муктаж болсо (мисалы, деңиз жээгинде Интернетке кирбей иштөө үчүн), анда мен сунуштайм Wireframe Sketcher:

VBA программист үчүн пайдалуу

2 жума бою акысыз демо мезгилинен кийин, ал сизден ошол эле 99 долларга сатып алууну суранат.

-га шилтеме берген барактар moqups

Download -га шилтеме берген барактар Wireframe Sketcher

Invisible Basic – коду бурмалоочу

Тилекке каршы, Microsoft Excel программасында макросторуңуздун баштапкы кодун сырсөз менен коопсуз кулпулоо мүмкүн эмес. Бирок, деп аталган программалардын бүтүндөй классы бар obfuscators (Англис тилинен. чаташтыруу – чаташтыруу, чаташтыруу), VBA кодунун көрүнүшүн аны окуу жана түшүнүү өтө кыйынга тургандай кылып өзгөрткөн, атап айтканда:

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

Чынын айтсам, мен бул ыкмаларды колдонууну жактыра бербейм. Тактап айтканда, PLEX менен мен сатып алуучуларга толук версияны ачык, түшүнүктүү жана комментарийленген баштапкы кодду берүү жакшы болот деп чечтим - бул мага туурараак көрүнөт. Ошого карабастан, менин программист кесиптештеримде мындай программа абдан пайдалуу боло турган учурлар көп жолу болгон (программист ишти жасаган, бирок кардар төлөгөн эмес ж.б.) Андыктан эгер сизге керек болсо, аны кайдан алууну билип алыңыз. «Биз тынч элбиз, бирок биздин брондолгон поездибиз...» жана ушулар.

Download Invisible Basic

Code Cleaner - кодду тазалоо

Долбоордун үстүндө иштөө процессинде (айрыкча, эгерде ал чоң жана узун болсо) код модулдарында жана формаларында “таштанды” топтоло баштайт – күтүлбөгөн жана каалабаган мүчүлүштүктөргө алып келиши мүмкүн болгон VBE редакторунун кызматтык маалыматынын сыныктары. Утилита Code Cleaner бул былжырды жөнөкөй, бирок ишенимдүү жол менен тазалайт: кодду модулдардан текст файлдарына экспорттойт, андан кийин аны кайра таза импорттойт. Мен чоң долбоорлордун үстүндө иштеп жатканда, мезгил-мезгили менен мындай "тазалоо" жүргүзүүнү сунуштайм.

Download -га шилтеме берген барактар Code Cleaner

Ribbon XML редактору

Макростарыңызды иштетүү үчүн Excel лентасында кооз баскычтар менен өзүңүздүн өтмөк түзгүңүз келсе, анда XML файл редактору интерфейсисиз кыла албайсыз. Албетте, бүгүнкү күндө эң ыңгайлуу жана күчтүү бул жагынан ата мекендик программа. Ribbon XML редакторуМаксим Новиков тарабынан түзүлгөн.

VBA программист үчүн пайдалуу

Абсолюттук сонун программалык камсыздоо:

  • лентага өзүңүздүн өтмөктөрдү, баскычтарды, ылдый түшүүчү тизмелерди жана жаңы Office интерфейсинин башка элементтерин оңой кошууга мүмкүндүк берет
  • тилди толугу менен колдойт
  • контексттик кеңештерди көрсөтүү менен түзөтүүгө жардам берет
  • сабактар ​​менен оңой өздөштүрүүгө болот
  • толугу менен акысыз

Download -га шилтеме берген барактар Ribbon XML редактору

PS

Көп жылдар бою Microsoft VBA иштеп чыгуучуларына көңүл бурбай, аны начар программалоо тили деп эсептейт. Office'тин кийинки версиясында мындан ары Visual Basic жок болот же ал JavaScript менен алмаштырылат деген имиштер мезгил-мезгили менен тарайт. Visual Studio'нун жаңы версиялары жаңы сонун нерселер менен үзгүлтүксүз чыгып турат жана VBE редактору 1997-жылы тыгылып калган, бирок стандарттык куралдар менен кодду дагы эле чегиндире алган эмес.

Чындыгында, миңдеген адамдар VBA программисттеринин кеңседеги маалыматтарды иштеп чыгуунун күнүмдүк тартибин автоматташтыруу үчүн макросторду түзүүнүн аркасында сааттарды жана күндөрдү үнөмдөшүүдө. 10 сап коддон турган макрос үч сааттык келесоо иштин ордуна жарым мүнөттө 200 кардарга файлдарды кантип жөнөтөрүн көргөн адам мени түшүнөт 🙂

Жана башкалар. 

Жогорудагы программалардын баары менин жеке тандоом жана жеке тажрыйбага негизделген жеке сунушум. Авторлордун эч кимиси менден жарнама сурап, акча төлөгөн да эмес (принципи боюнча мен алмак эмесмин). Эгерде сизде жогорудагы тизмеге кошуу үчүн бир нерсе болсо - комментарийлерге кош келиңиз, ыраазы болгон адамзат карызда калбайт.

 

Таштап Жооп