Као што назив говори, функција ЦреатеОбјецт се користи за креирање објеката.
Али зашто користимо ЦреатеОбјецт методу или функцију ако можемо директно креирати објекат помоћу нове кључне речи?
Па, то је ваљано питање и имамо одговарајући одговор.
Креирање објекта помоћу функције ЦреатеОбјецт назива се Касно везивање. У касном повезивању, стварање објеката се дешава током извођења. Није потребно додавање референци. Ово чини ВБА код преносивим.
На пример, ако креирате апликацију која се бави другим апликацијама и коју користите рано везивање додавањем референци и коришћењем Нова кључна реч. Касније тај код пренесете на неку другу машину, па ћете морати да додате и референце на тој машини. Али ако сте користили методу ЦреатеОбјецт за креирање других апликативних објеката, нећете морати да додајете референце на другим машинама, у случају да преносите или делите код.
У овом чланку ћемо научити о методи ЦреатеОбјецт користећи неке примере.
Синтакса функције ЦреатеОбјецт:
Постави име_објекта = ЦреатеОбјецт (име класе као стринг, [име сервера]) |
име класе као стринг: То је захтевана променљива. То је низ који се односи на назив апликације и тип објекта. Име апликације и класа објекта који ће се креирати требају бити декларисани у АппНаме.ОбјецТипе. На пример, ако желим објекат Ворд апликације онда бих написао "Ворд.Апплицатион". Касније ћемо то детаљно видети у примерима.
[име сервера]: То је опционална променљива. То је низ имена мрежног сервера на коме ће се објекат креирати. Ако је име сервера празан низ (""), користи се локална машина. Ово нећемо користити у овом поглављу.
Сада, када знамо основе функције ЦреатеОбјецт, употребимо их у неким примерима:
Пример 1: Отворите апликацију Мицрософт Ворд помоћу програма Екцел ВБА
Дакле, ако желимо да користимо рано везивање, додали бисмо референце на апликације за речи помоћу менија Алати-> Референце.
И наш код би изгледао овако.
Суб ОпенВордАпп () Затамни вордАпп као нову Ворд.Апплицатион Затамни вордДоц као документ вордАпп.Висибле = Труе вордДоц = вордАпп.Доцументс.Адд Енд Суб
Предност овог кода је што добијате помоћ интелигентности ВБА и он вам показује доступне методе и својства објекта који сте креирали. Савршено ће радити на вашем систему. Али, ако делите овај код са неким другим, а он није додао референцу у библиотеку речи Мицрософт из алата, добиће грешку.
Да бисте избегли ову грешку, користите доњи код.
Суб ОпенВордАпп () Затамни вордАпп као скуп објеката вордАпп = ЦреатеОбјецт ("Ворд.Апплицатион") Затамни вордДоц као објекат вордАпп.Висибле = Труе Сет вордДоц = вордАпп.Доцументс.Адд Енд Суб
Горњи код ће савршено радити на било којој машини. Преносив је јер каснимо са везивањем помоћу методе ЦреатеОбјецт за креирање објекта.
Погледајмо још један пример:
Пример 2: Креирање објекта радне свеске помоћу функције ЦреатеОбјецт
Ако неко време радите са ВБА, морате да креирате или додате у радне свеске помоћу кључне речи Нев. У овом примеру ћемо то учинити користећи ЦреатеОбјецт.
Суб аддСхеет () 'Декларишите променљиву објекта да држи референцу објекта'. Дим ас Објецт узрокује касно везивање. Затамните ЕкцелСхеет као објекат Сет ЕкцелСхеет = ЦреатеОбјецт ("Екцел.Схеет") 'Учините Екцел видљивим кроз објекат Апплицатион. ЕкцелСхеет.Апплицатион.Висибле = Труе 'Поставите текст у прву ћелију листа. ЕкцелСхеет.Апплицатион.Целлс (1, 1) .Валуе = "Ово је колона А, ред 1" 'Сачувајте лист у директоријуму Ц: \ тест.клс. ЕкцелСхеет.СавеАс "Ц: \ ТЕСТ.КСЛС" 'Затворите Екцел методом Куит на објекту Апплицатион. ЕкцелСхеет.Апплицатион.Куит 'Отпустите променљиву објекта. Подесите ЕкцелСхеет = Ништа Крај Суб
Па да, момци, овако користите методу ЦреатеОбјецт у ВБА. Хајде да разговарамо о предностима и недостацима.
Предности функције ЦреатеОбјецт за креирање објекта
Главна предност ЦреатеОбјецт -а је што ваш код чини преносивим (када је стварање објекта у питању). Код можете поделити са свима без бриге о томе да ли су додали референцу у објектни програм користећи или не.
Недостатак ЦреатеОбјецт -а
Недостаци методе ЦреатеОбјецт су:
Морате знати структуру класе коју ћете користити за креирање објеката.
Када креирате објекат, потпуно зависите од своје меморије у погледу метода и својстава објеката, јер ВБА не пружа никакву интелигенцију која би вам помогла.
Горе наведене недостатке можемо превазићи. Имам трик.
Кад год пишем код који ће се делити са другима, користим први метод за креирање објеката (Додавање референци из алата). Ово ми помаже да брже напишем код. Када завршим ВБА програм и тестирам га, замењујем нову методу са методом ЦреатеОбјецт. Ово чини код преносивим. Можете користити овај трик.
Па да, момци, овако можете користити функцију ЦреатеОбјецт за креирање објеката у ВБА. Надам се да сам успео све да објасним. Ако имате питања у вези са овим чланком или било којим другим питањем везаним за ВБА, питајте ме у одељку за коментаре испод.
Почетак коришћења Екцел ВБА корисничких образаца| Објаснићу вам како да креирате образац у екцелу, како да користите ВБА тоолбок, како да рукујете уносима корисника и на крају како да складиштите уносе корисника. Проћи ћемо кроз ове теме користећи један пример и водич корак по корак.
ВБА променљиве у Екцелу| ВБА означава Висуал Басиц фор Апплицатионс. То је програмски језик компаније Мицрософт. Користи се са апликацијама Мицрософт Оффице као што су МСЕкцел, МС-Ворд и МС-Аццесс, док су ВБА променљиве одређене кључне речи.
Екцел ВБА променљиви опсег| У свим програмским језицима имамо спецификаторе приступа променљивим који дефинишу одакле се може приступити дефинисаној променљивој. Екцел ВБА није изузетак. ВБА такође има спецификаторе опсега.
Аргументи БиРефа и БиВала | Када се аргумент пренесе као БиРеф аргумент на другу под -функцију или функцију, шаље се референца стварне променљиве. Све промене направљене у копији променљиве ће се одразити у оригиналном аргументу.
Брисање листова без упита за потврду помоћу ВБА у програму Мицрософт Екцел | Пошто бришете листове помоћу ВБА, знате шта радите. Желели бисте да кажете Екцелу да не приказује ово упозорење и да избрише проклети лист.
Додајте и сачувајте нову радну свеску помоћу ВБА у програму Мицрософт Екцел 2016| У овом коду смо прво креирали референцу на објекат радне свеске. Затим смо га иницијализовали новим објектом радне свеске. Предност овог приступа је што можете лако да радите на овој новој радној свесци. Као чување, затварање, брисање итд
Прикажите поруку на статусној траци програма Екцел ВБА| Статусна трака у екцелу може се користити као монитор кода. Када је ваш ВБА код дугачак и обављате неколико задатака користећи ВБА, често онемогућујете ажурирање екрана тако да не видите да екран трепери.
Искључите поруке упозорења помоћу ВБА у програму Мицрософт Екцел 2016| Овај код не само да онемогућава ВБА упозорења, већ и повећава временску ефикасност кода. Да видимо како.
Популарни чланци:
50 Екцел пречица за повећање продуктивности | Убрзајте свој задатак. Ових 50 пречица ће учинити да радите још брже на Екцелу.
Функција ВЛООКУП у Екцелу | Ово је једна од најчешће кориштених и популарних функција програма Екцел која се користи за тражење вриједности из различитих распона и листова.
ЦОУНТИФ у програму Екцел 2016 | Бројте вредности са условима користећи ову невероватну функцију. Не морате да филтрирате податке да бисте рачунали одређене вредности. Цоунтиф функција је неопходна за припрему ваше контролне табле.
Како се користи функција СУМИФ у програму Екцел | Ово је још једна битна функција контролне табле. Ово вам помаже да сумирате вредности под одређеним условима.