Kas yra VBA? „Macro“ makro kalba

Jei kada nors naudojote „Excel“ makrokomandas, naudojote „Visual Basic for Applications“ (VBA). VBA yra žmogaus skaitomas (ir redaguojamas) programavimo kodas, gaunamas įrašant makrokomandą. Kai paleidžiate makrokomandą, „Excel“ nuskaito šį kodą, kad pakartotų jūsų veiksmus.

Toliau pateikiama dažnai užduodamų klausimų apie VBA serija su atsakymais tiek „Excel“ makrokomandų naujokams, tiek patyrusiems programuotojams.

Kam VBA naudojama „Excel“?

VBA naudojama makrokomandoms rašyti, kurios automatizuoja paprastas ir sudėtingas „Excel“ užduotis.

„Microsoft Excel“ vartotojai dažnai kartoja tą pačią užduočių seriją. Kartais tai yra nedidelės užduotys, pvz., Duomenų pogrupių kopijavimas ir įklijavimas į skirtingus lapus, o kartais užduotys yra sudėtingesnės, pavyzdžiui, įkeliant duomenis į svetainę. Naudojant VBA, makrokomandas galima užprogramuoti taip, kad jos automatizuotų tokias užduotis, kai kurios rankinės operacijos paverčiamos vienu mygtuko paspaudimu.

Kaip pradėti naudotis VBA programoje „Excel“?

Lengviausias būdas pradėti naudotis makrokomandomis yra jas įrašyti naudojant „Excel“ integruotą makrokomandų įrašymo įrenginį. Makro įrašymo įrenginys sugeneruoja VBA kodą, kurį galite perskaityti ir redaguoti, ir tai yra žingsnis į priekį, kad išmoktumėte koduoti savo makrokomandas nuo nulio.

Daugiau informacijos rasite straipsnyje „Kaip įrašyti makrokomandą“.

Kaip galiu pasiekti VBA kodą?

VBA redaktorių galima bet kada atidaryti paspaudus ALT+F11 spartusis klavišas. Iš čia galite pasiekti visų atidarytų darbaknygių kodą.

Galite dukart spustelėti bet kurią darbaknygę, lapą ar modulio objektą Projektas langą, kad būtų parodytas jame esantis VBA kodas. Įrašytos makrokomandos visada bus rodomos moduliuose, kur paprastai taip pat norite rašyti savo makrokomandas.

Daugiau informacijos apie makrokomandų redagavimą rasite straipsnyje „Excel VBA makrokomandų redagavimas“.

Ką gali padaryti VBA?

Pirmiausia: jei galite ką nors padaryti „Excel“, galite parašyti VBA kodą, kad padarytumėte tą patį. Jei išmoksite komandas (naudodami makro įrašymo įrenginį ar internetinius išteklius), galite sujungti kelis veiksmus kartu į vieną makrokomandą.

Antra: galite naudoti VBA, norėdami parašyti vartotojo apibrėžtas funkcijas, skirtas naudoti darbalapio formulėse - panašiai kaip, pavyzdžiui, „= SUM ()“ funkcija. Nors „Excel“ jau turi daugybę įvairių funkcijų, jei manote, kad norite funkcijos, labiau pritaikytos jūsų pramonei ar darbo vietai, galite ją pridėti naudodami VBA.

Trečias: galite naudoti VBA, kad prie savo makrokomandų pridėtumėte logikos (If teiginiai) ir kilpų (pakartotinių veiksmų). Tai reiškia, kad makrokomanda gali būti daugiau nei veiksmų įrašymas - tai gali būti tikra programa su protingu pasikartojimu ir sprendimų priėmimu.

Ketvirta: VBA leidžia kurti vartotojo sąsajas, suteikiant vartotojams lengvesnį būdą bendrauti su jūsų makrokomandomis. Šios sąsajos gali būti paprasti darbalapio mygtukai arba sudėtingos „UserForms“ su daugybe valdiklių, tokių kaip „TreeViews“ ir „FlexGrids“.

(Kaip pradinį tašką žr. Straipsnį „Pridėti mygtuką ir priskirti makrokomandą„ Excel “.)

Penkta, bet ne pagaliau: VBA leidžia panaudoti beveik bet kokius jūsų kompiuterio ar interneto išteklius naudojant išorines DLL bibliotekas. Tokiu būdu galite automatizuoti daug daugiau nei „Excel“, pavyzdžiui, prieigą prie žiniatinklio paslaugų ir duomenų bazių, XML failų analizavimą, sąveiką su kitomis „Microsoft Office“ programomis ir daug, daug daugiau.

Ar VB ir VBA yra tas pats?

VBA kalba yra identiška „Visual Basic 6.0“. Jei turite patirties rašant VB6 kodą, galite parašyti VBA.

„Excel“ VB redaktorius yra pašalinta VB6 redaktoriaus versija, turinti panašias derinimo galimybes ir komponentus, tokius kaip „Projektas“ ir „Ypatybės“. Formos redaktorius taip pat yra labai panašus, nors jis turi tam tikrų apribojimų (pvz., Nesugebėjimas kurti valdymo masyvų).

Mažiau panaši į VBA yra Visual Basic .NET. Nors šiose kalbose yra daug tų pačių raktinių žodžių ir sintaksių, šių kalbų kodas yra mažiau suderinamas. Jums nereikėtų daug perrašyti (jei ką), kad perkeltumėte procedūrą iš VB6 į VBA, bet to negalėtumėte padaryti iš VB.NET.

Kuo skiriasi makro ir VBA?

VBA yra tik ta kalba, kuria rašomos makrokomandos. Jei jūsų makrokomanda yra istorija, VBA yra gramatika ir žodynas, su kuriuo ji parašyta.

Kuo skiriasi makrokomandas ir scenarijus?

Scenarijuose naudojamas ribotas „Visual Basic“ kalbos pogrupis ir jie naudojami įvairiems tikslams.

Makrokomandos saugomos „Excel“ darbaknygės failuose ir gali būti paleistos tik iš „Excel“. Paprastai jie naudojami automatizuoti įvairias „Excel“ funkcijas ir pridėti papildomų funkcijų prie darbaknygių.

Scenarijai saugomi teksto failuose naudojant .VBS plėtinį ir gali būti paleisti iš „Windows“ vidaus arba vykdyti kitų programų. „Sysadmins“ naudos scenarijus, kad automatizuotų tam tikras kompiuterio ar tinklo administracines užduotis.

Ką veikia VBA kūrėjas?

Dažnai žmonės, kuriantys makrokomandas, nėra kūrėjai - jie yra analitikai, prekybininkai, buhalteriai ar mokslininkai, kurie mokėsi programavimo ir naudojasi VBA daugiau kaip ad hoc.

Žmonės, kurie orientuojasi į VBA kūrimą, linkę kurti įmantresnius įrankius - sukuria priedus, vartotojo sąsajas su formomis, interaktyvius prietaisų skydelius, ataskaitų generatorius ir kt.

Kodėl VBA yra svarbi?

VBA standartiškai įtraukta į visas „Microsoft Office“ programas, įskaitant „Excel“. „Excel“ yra viena iš populiariausių programų pasaulyje ir gali būti naudojama įvairiose srityse ir darbo vietose, turinčiose savo unikalias darbo eigas ir naudojimo atvejus.

Nenaudojant automatikos, kiekvieną savaitę eikvojama begalė darbo valandų, atliekant nuobodžias, pasikartojančias užduotis žmogaus greičiu. Automatizavimas naudojant VBA gali atlikti tas pačias užduotis žaibišku kompiuterio greičiu, leisdamas vartotojams sutelkti dėmesį į svarbius savo darbo aspektus, būti produktyvesniems - o galbūt išeiti iš biuro šiek tiek anksčiau!

Ar VBA yra gera programavimo kalba?

VBA turi tipiškus programavimo elementus, tokius kaip kintamieji, masyvai, funkcijos, sprendimai ir kilpos. Jo sintaksė yra lengvai skaitoma ir gali panaudoti daug energijos iš „Windows“ ir kitų paslaugų.

Neigiama, kad klaidų tvarkymas VBA nėra labai elegantiškas. Nors kitos kalbos naudoja kodo blokus „pabandyk pagauti pagaliau“, VBA naudoja teiginius „Apie klaidą“, kad pakeistų makrokomandų elgseną, kai įvyksta klaida.

Be to, VBA negali būti naudojama kuriant atskiras programas, svetaines ar paslaugas, taip pat negali sąsajos su naujesnėmis programavimo API, pvz., .NET platforma.

Ar VBA yra orientuota į objektus?

VBA palaiko kai kurias objektines koncepcijas:

  • Kapsuliavimas: VBA palaiko duomenų slėpimą naudojant klases
  • Polimorfizmas: raktinis žodis „Įgyvendina“ leidžia programuotojams naudoti kitas klases kaip sąsajas

Siaurąja prasme VBA nėra orientuota į objektus. Jame ypač trūksta paveldėjimo sąvokos, kuri labai apriboja galimybę išplėsti esamų tipų funkcionalumą.

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave