Висуал Басиц за апликације је објектно оријентисани програмски језик. Основни концепт објектно оријентисаног програмирања је да се софтверска апликација (Екцел у овом случају) састоји од различитих појединачних објеката, од којих сваки има свој скуп карактеристика и употребе.
Екцел апликација садржи ћелије, радне листове, графиконе, заокретне табеле, облике за цртање — листа Екцел-ових објеката је наизглед бескрајна. Сваки објекат има свој скуп карактеристика, које се зову својства , и сопствени скуп употреба, који се зове методе .
О овом концепту можете размишљати баш као о предметима са којима се свакодневно сусрећете, као што су рачунар, аутомобил или фрижидер. Сваки од ових објеката има идентификационе квалитете, као што су висина, тежина и боја. Сваки од њих има своју посебну употребу, као што је рад са Екцел-ом, транспорт на велике удаљености или држање кварљиве хране хладном.
ВБА објекти такође имају својства која се могу идентификовати и методе коришћења. Ћелија радног листа је објекат, а међу њеним описивим карактеристикама (његова својства) су адреса, висина и форматирана боја испуне. Радна свеска је такође ВБА објекат, а међу њеним употребљивим карактеристикама (њеним методама) су његове могућности отварања, затварања и додавања графикона или пивот табеле.
У Екцел-у се свакодневно бавите радним свескама, радним листовима и опсезима. Вероватно сматрате да је сваки од ових објеката део Екцел-а, а не да их заправо раздвајате у свом уму. Међутим, Екцел о њима интерно размишља као о делу хијерархијског модела који се зове Екцел објектни модел. Екцел објектни модел је јасно дефинисан скуп објеката који су структурирани према односима између њих.
Разумевање објеката
У стварном свету све што видите можете описати као објекат. Када погледате своју кућу, она је објекат. Ваша кућа има собе; те просторије су такође засебни објекти. Те собе могу имати ормаре. И ти ормари су предмети. Док размишљате о својој кући, собама и плакарима, можда ћете видети хијерархијски однос између њих. Екцел ради на исти начин.
У Екцел-у, објекат Апплицатион је свеобухватни објекат — сличан вашој кући. Унутар објекта Апплицатион, Екцел има радну свеску. Унутар радне свеске је радни лист. Унутар тога је распон. Све су то објекти који живе у хијерархијској структури.
Да бисте указали на одређени објекат у ВБА, можете да пређете кроз објектни модел. На пример, да бисте дошли до ћелије А1 на листу 1, можете унети овај код:
Ацтивеворкбоок.Схеетс("Схеет1").Ранге("А1").Селецт
У већини случајева, хијерархија модела објеката се разуме, тако да не морате да куцате сваки ниво. Уношење овог кода вас такође доводи до ћелије А1 јер Екцел закључује да мислите на активну радну свеску и активни лист:
Опсег("А1").Изаберите
Заиста, ако имате курсор већ у ћелији А1, можете једноставно користити АцтивеЦелл објекат, негирајући потребу да напишете опсег:
Ацтивецелл.Селецт
Разумевање колекција
Многи Екцел-ови објекти припадају колекцијама , које су у суштини групе сличних објеката. Слично томе, ваша кућа се налази у комшилуку, који је скуп кућа. Сваки кварт налази се у колекцији насеља која се назива град. Екцел сматра да су колекције сами објекти.
У сваком објекту Воркбоок имате колекцију радних листова. Колекција радних листова је објекат који можете позвати преко ВБА. Сваки радни лист у вашој радној свесци налази се у колекцији Радни листови.
Ако желите да упућујете на радни лист у колекцији Радни листови, можете га позвати према његовој позицији у колекцији, као број индекса који почиње са 1, или по имену, као цитирани текст. Ако покренете следеће две линије кода у радној свесци која има само један радни лист под називом МиСхеет, оба раде исту ствар:
Радни листови(1).Изабери
Радни листови("МиСхеет").Изаберите
Ако имате два радна листа у активној радној свесци која имају називе МиСхеет и ИоурСхеет, тим редоследом, можете се позвати на други радни лист тако што ћете откуцати било који од ових исказа:
Радни листови(2).Изабери
Радни листови("ИоурСхеет").Изаберите
Ако желите да се позовете на радни лист у радној свесци под називом МиСхеет у одређеној радној свесци која није активна, морате квалификовати референцу радног листа и референцу радне свеске на следећи начин:
Воркбоокс("МиДата.клс").Ворксхеетс("МиСхеет").Изабери
Разумевање својстава
Својства су у суштини карактеристике објекта. Ваша кућа има боју, квадратуру, старост и тако даље. Неке особине, као што је боја ваше куће, могу се променити. Остала својства, као што је година изградње ваше куће, не могу се променити.
Слично, објекат у Екцел-у као што је објекат Ворксхеет има својство имена листа које се може променити и својство реда Ровс.Цоунт које не може.
Ви упућујете на својство објекта упућивањем на објекат, а затим на својство. На пример, можете променити име свог радног листа променом његовог својства Наме.
У овом примеру преименујете Схеет1 у МиСхеет:
Схеетс("Схеет1").Наме = "МиСхеет"
Нека својства су само за читање, што значи да им не можете директно доделити вредност. Пример својства само за читање је својство Тект ћелије, које обезбеђује форматирани изглед вредности у ћелији. Не можете га преписати или променити.
Разумевање метода
Методе су радње које се могу извршити над објектом. Помаже размишљање о методама као о глаголима. На пример, можете офарбати своју кућу; у ВБА, то би могло да се преведе на
кућа.боја
Једноставан пример Екцел методе је Селецт метода објекта Ранге:
Опсег("А1").Изаберите
Други је метод Цопи објекта Ранге:
Опсег("А1").Копирај
Неке методе имају параметре који могу диктирати како се методе примењују. На пример, метода Пасте се може ефикасније користити експлицитним дефинисањем параметра Дестинатион:
АцтивеСхеет.Пасте Дестинатион:=Ранге("Б1")