Naudingumas VBA programuotojui

Jei žodį „makrokomandos“ tariate su siaubu ir pabrėždami antrąjį skiemenį, o frazė „Visual Basic for Applications“ jums atrodo kaip burtažodis, tada šis straipsnis ne jums. Bet kokiu atveju, kol kas 🙂

Jei turite bent šiek tiek patirties programuodami makrokomandas VBA programoje „Excel“ ir neketinate sustoti, tada toliau pateiktas naudingų priedų ir programų pasirinkimas turėtų būti (bent iš dalies) jums naudingas.

MZ-Tools – „Šveicariškas peilis“ programuotojui

Įdiegę VBE redaktoriuje esančiame meniu įrankiai pasirodys submeniu MZ įrankiai ir nauja įrankių juosta, skirta greitai pasiekti tas pačias funkcijas:

Naudingumas VBA programuotojui

Jis žino, kaip padaryti daug. Iš vertingiausių, mano nuomone:

  • Automatiškai pridėkite „tuščią žuvį“, kad sukurtumėte procedūras, funkcijas, įvykių ir klaidų tvarkykles su teisingu kintamųjų įvardijimu pagal Vengrijos sistemą.
  • Nukopijuokite valdiklius į vartotojo formas kartu su jų kodu.
  • Padarykite žymes (Favorites) procedūroms ir greitai pereikite prie jų dideliame projekte.
  • Padalinkite ilgas kodo eilutes į kelias ir surinkite atgal (padalykite ir sujunkite eilutes).
  • Pateikite išsamią projekto statistiką (kodo eilučių skaičius, procedūros, blankų elementai ir kt.)
  • Patikrinkite, ar projekte nėra nenaudojamų kintamųjų ir procedūrų (Peržiūros šaltinis)
  • Sukurkite savo kodo šablonų bazę (kodo šablonus) tipiniams atvejams ir vėliau greitai įdėkite juos į naujas makrokomandas.
  • Automatiškai sukurkite ilgą ir bauginančią eilutę, kad prisijungtumėte prie išorinių duomenų šaltinių per ADO.
  • Prijunkite sparčiuosius klavišus prie bet kurios priedo funkcijos.

Vienareikšmiškai privaloma turėti bet kokio lygio programuotoją. Jei turite naujausią „Office“ versiją, būtinai atsisiųskite naujausią MZ-Tools 3.00.1218 versiją, išleistą kovo 1 d., nes. tai ištaisė klaidą dirbant su „Excel 2013“.  

atsisiųsti saitą MZ įrankiai

Smart Indenter – automatinis įdubimas kode

Puikiai atlieka vieną paprastą, bet labai reikalingą operaciją – automatiškai įtraukia skirtukus VBA kode, aiškiai išryškindamas įdėtas kilpas, būklės patikrinimus ir pan.

Naudingumas VBA programuotojui

Šį veiksmą labai patogu priskirti bet kuriam patogiam skilties sparčiajam klavišui Įtraukos parinktys ir padarykite tai vienu prisilietimu.

Deja, programos autorius jos atsisakė 2005 m. (kodėl, Carl!?) ir naujausia versija svetainėje skirta Excel 97-2003. Tačiau programa gana gerai veikia su naujesnėmis versijomis. Vienintelis įspėjimas: jei turite „Excel 2013“, prieš diegdami „Smart Indenter“, pirmiausia turite įdiegti naujausią „MZ-Tools“ versiją, nes. joje yra dinaminė biblioteka, reikalinga Indenter darbui.

atsisiųsti saitą Išmanusis įtraukiklis

VBE Tools – mikrotiuningo elementai formomis

Sudėtingoje formoje valdiklių (mygtukų, įvesties laukų, teksto etikečių ir t. t.) lygiavimas gali būti varginantis. Standartinis susiejimas su redaktoriaus tinkleliu per meniu Įrankiai — Parinktys — Bendra — Sulygiuoti valdiklius su tinkleliu kartais nelabai padeda ir net pradeda trukdyti, ypac jei reikia pajudinti pvz mygtuka tik truputi. Šiuo klausimu padės „VBE Tools“ priedas, kuris, įdiegus, rodo paprastą skydelį, kuriame galite tiksliai sureguliuoti pasirinkto elemento dydį ir padėtį formoje:

Naudingumas VBA programuotojui

Padėties perkėlimas taip pat gali būti atliekamas naudojant Alt + rodykles, o dydį - Shift + Alt + rodyklės ir Ctrl + Alt + rodyklės.

Be to, dešiniuoju pelės mygtuku spustelėję elementą, galite iš karto jį pervardyti kartu su kodu.

atsisiųsti saitą VBE įrankiai

VBA skirtumas – kodo skirtumų radimas

Šis įrankis tikriausiai bus naudingesnis profesionaliems VBA programuotojams kuriant didelius ir sudėtingus projektus ar kuriant bendradarbiavimą. Pagrindinė jo funkcija yra palyginti du projektus ir vizualiai parodyti kodo skirtumus tarp jų:

Naudingumas VBA programuotojui

Yra 30 dienų nemokamas laikotarpis, o tada priedas paprašys už jį sumokėti 39 svarus (apie 3.5 tūkst. rublių pagal dabartinį kursą).

Atvirai kalbant, tai pravertė mano gyvenime tik 3-4 kartus vykdant itin didelius projektus, bet tada sutaupė kelias dienas ir daug nervų ląstelių 🙂 Na, žinoma, visada yra nemokama alternatyva: eksportuoti kodą į tekstinį failą (dešiniuoju pelės mygtuku spustelėkite modulo – Eksportuoti) ir vėliau palyginkite juos naudodami „Microsoft Word“ naudodami komandą Peržiūrėkite – palyginkite dokumentus, bet su VBA Diff pagalba tai yra eilės tvarka patogiau.

atsisiųsti saitą VBA skirtumas

Moqups ir Wireframe Sketcher – sąsajos prototipų kūrimas

Kuriant sudėtingas vartotojo sąveikos sąsajas, labai patogu iš anksto suprojektuoti apytikslę dialogo langų išvaizdą, ty vykdyti prototipų kūrimas. Tiesą sakant, tai yra daug lengviau, nei vėliau perdaryti paruoštas formas ir jų kodą. Prisimenu, kartą viename iš projektų klientas paprašė sudaryti „meniu“, reiškiantį „skirtukus“. Pusė darbo dienos 🙁

Šioms užduotims atlikti yra daugybė mokamų ir nemokamų įvairaus sudėtingumo ir galios programų. Išbandžiau apie dešimt tokių programų ir paslaugų, pastaruoju metu dažniausiai naudojuosi moqups:

Naudingumas VBA programuotojui

Tai internetinis redaktorius, kuris:

  • Nereikia diegti atskirų programų. Visada galite atvykti į kliento biurą ir atidaryti-parodyti-pataisyti sukurtą sąsają tiesiog svetainėje.
  • Jame yra visi pagrindiniai dialogo langų elementai (etiketės, mygtukai, sąrašai ir kt.) „Windows“ ir „Mac“ versijose.
  • Leidžia eksportuoti sukurtą sąsają PNG arba PDF formatu arba nusiųsti nuorodą klientui peržiūrėti internete.
  • Iš tikrųjų nemokamai. Grafinių elementų skaičius yra ribojamas, bet man niekada nepavyko jų peržengti. Jei pritrūksta vietos arba norite vienu metu saugoti kelis didelius projektus, visada galite atnaujinti į aukščiausios kokybės versiją už 99 USD per metus.

Apskritai kūrėjo užduotims VBA – manau, daugiau nei pakankamai.

Jei kam iš esmės reikia offline parinkties (pavyzdžiui, dirbti be interneto pajūryje), rekomenduoju Vielinio rėmo eskizas:

Naudingumas VBA programuotojui

Po 2 savaičių nemokamo demonstracinio laikotarpio jis paprašys jūsų nusipirkti už tuos pačius 99 USD.

Nuoroda į moqups

atsisiųsti saitą Vielinio rėmo eskizas

Invisible Basic – kodo obfuskatorius

Deja, „Microsoft Excel“ slaptažodžiu saugiai užrakinti makrokomandų šaltinio kodą neįmanoma. Tačiau yra visa klasė programų, vadinamų obfuskatoriai (Iš anglų kalbos. aptemdyti – supainioti, supainioti), kurie pakeičia VBA kodo išvaizdą taip, kad jį bus itin sunku perskaityti ir suprasti, būtent:

  • kintamųjų, procedūrų ir funkcijų pavadinimai pakeičiami ilgais beprasmiais simbolių rinkiniais arba, atvirkščiai, trumpais abėcėlės nesuprantamais pavadinimais
  • vaizdinės lentelės įtraukos pašalinamos
  • pašalinami arba, atvirkščiai, atsitiktinai dedami eilučių lūžiai ir pan.

Atvirai kalbant, aš nesu mėgėjas naudoti šiuos metodus. Konkrečiai, su PLEX nusprendžiau, kad pilnos versijos pirkėjams geriau duoti atvirą, suprantamą ir komentuojamą šaltinio kodą – man taip atrodo teisingiau. Nepaisant to, mano kolegos programuotojai ne kartą turėjo atvejų, kai tokia programa labai praverstų (programuotojas padarė darbą, bet klientas nesumokėjo ir pan.) Tad jei reikia, žinokite kur gauti. „Mes esame taikūs žmonės, bet mūsų šarvuotas traukinys...“ ir visa kita.

parsisiųsti Invisible Basic

Code Cleaner – kodo valymas

Dirbant su projektu (ypač jei jis didelis ir ilgas) kodo moduliuose ir formose pradeda kauptis „šiukšlės“ – VBE redaktoriaus paslaugos informacijos nuotrupos, kurios gali sukelti netikėtų ir nepageidaujamų nesklandumų. Naudingumas Kodo valiklis išvalo šį nešvarumą paprastu, bet patikimu būdu: eksportuoja kodą iš modulių į tekstinius failus, o tada importuoja jį atgal. Labai rekomenduoju dirbant su dideliais projektais periodiškai atlikti tokį „valymą“.

atsisiųsti saitą Kodo valiklis

Juostos XML redaktorius

Jei norite sukurti savo skirtuką su gražiais Excel juostelės mygtukais, kad paleistumėte makrokomandas, neapsieisite be sąsajos XML failų rengyklės. Neabejotinai šiuo metu pati patogiausia ir galingiausia yra vidaus programa. Juostos XML redaktoriussukūrė Maksimas Novikovas.

Naudingumas VBA programuotojui

Visiškai nuostabi programinė įranga, kuri:

  • leis į juostelę lengvai įtraukti savo skirtukus, mygtukus, išskleidžiamuosius sąrašus ir kitus naujos „Office“ sąsajos elementus
  • visiškai palaiko kalbą
  • padeda redaguoti, rodydamas kontekstines užuominas
  • gali būti lengvai įsisavinamas per pamokas
  • visiškai nemokama

atsisiųsti saitą Juostos XML redaktorius

PS

Daugelį metų „Microsoft“ akivaizdžiai ignoravo VBA kūrėjus, manydama, kad tai, matyt, yra prastesnė programavimo kalba. Periodiškai sklinda gandai, kad kitoje „Office“ versijoje nebebus „Visual Basic“ arba ji bus pakeista „JavaScript“. Reguliariai išleidžiamos naujos „Visual Studio“ versijos su naujomis gėrybėmis, o VBE redaktorius įstrigo 1997 m., vis dar negalėdamas įtraukti kodo standartiniais įrankiais.

Iš tikrųjų tūkstančiai žmonių taupo valandas ir dienas, nes VBA programuotojai kuria makrokomandas, skirtas automatizuoti kasdienes biuro duomenų apdorojimo procedūras. Kas matė, kaip makrokomandas 10 kodo eilučių per pusę minutės išsiunčia failus 200 klientų, pakeisdamas tris valandas kvailo darbo, mane supras 🙂

Ir daugiau. 

Visos aukščiau pateiktos programos yra tik mano asmeninis pasirinkimas ir asmeninės rekomendacijos, pagrįstos asmenine patirtimi. Nė vienas iš autorių manęs neprašė reklamos ir už ją nemokėjo (o aš iš principo nesiimčiau). Jei turite ką papildyti aukščiau pateiktu sąrašu – sveiki atvykę į komentarus, dėkinga žmonija neliks skolinga.

 

Palikti atsakymą