Овај водич ће вас научити како да дефинишете променљиве објекта помоћу израза Сет у ВБА.
Дефинисање променљивих објеката
Објекти су камен темељац Мицрософт Оффице -а - без објеката ништа не можемо постићи. У програму Екцел објекти укључују објекте радне свеске, радног листа или опсега. У Мицрософт Ворд -у, примери су Доцумент или Табле објекат. Сваки објекат има различите Некретнине и Методе које се могу програмирати за контролу понашања тог објекта.
Декларисање променљиве објекта
Пре него што можемо да референцирамо објекат у коду, па стога контролишемо објекат, морамо га декларисати. То можемо учинити помоћу Дим изјаве.
123456 | Дим вкб као радна свескаДим вкс ас ВорксхеетДим Рнг ас РангеЗатамните вдДоц као документДим вдТбл као ТабелаДим схп као Облик |
Ово Замутити декларација се може појавити унутар процедуре:
или изван процедуре на нивоу модула:
Ако је променљива декларисана на нивоу модула (изван процедуре), променљива се може користити у целом модулу.
Ако је променљива објекта декларисана са Публиц наредбом, онда се променљива може користити у целом ВБА пројекту:
Подешена вредност
Након што објекат декларирате, објекту морате додијелити вриједност. Ово се мора урадити помоћу Сет статемент и може се извршити само у оквиру а Процедура.
12345 | Суб СетОбјецтс ()Подесите вкб = АцтивеВоркбоокСет вкс = Схеет1Постави рнг = опсег ("А1: Г4")Енд Суб |
Напомена: Ово се разликује од додељивања вредности необјектним променљивим. МОРАТЕ користити израз Сет за додељивање објекта променљивој. Ако то не учините, добићете грешку:
Након што објекту доделите вредност, можете писати код за контролу понашања или руковање објектом.
ВБА програмирање | Генератор кода ради за вас!
Примери објеката у Екцелу
Објекат радне свеске
Након што декларишете променљиву радну свеску, тада можете доделити радну свеску том објекту и користити својства и методе који су доступни за манипулацију тим објектом. У доњем примеру ћемо сачувати радну свеску.
123456789101112 | Суб ВоркбоокОбјецт ()'декларишите објекат радне свескеДим вкб као радна свеска'доделите несачувану радну свеску објектуСет вкб = Радне свеске ("Књига1")'сачувај радну свескувкб.СавеАс "Ц: \ дата \ тестбоок.клск"'затворите радну свескувкб.цлосе'не заборавите да ослободите предметСет вкб = НиштаЕнд Суб |
Објекат радног листа
Слично, можете манипулирати радним листом или радним листовима након што декларишете радни лист као променљиву. У доњем примеру преименујемо Схеет1 и Схеет2.
12345678910111213 | Подрадни листОбјект ()Дим вкс1 као радни листДим вкс2 као радни лист'иницијализујте објектеПоставите вкс1 = Лист1Сет вкс2 = Лист2'преименујте листовевкс1.Наме = "Купци"вкс2.Наме = "Производи"'поставите предмете на ништавкс1 = Ништавкс2 = НиштаЕнд Суб |
Уморни сте од тражења примера ВБА кода? Испробајте АутоМацро!
Објекат домета
Објекат Ранге је један од најкориснијих објеката за манипулисање у Екцелу. У доњем примеру подебљамо опсег А1 до Е1 и форматирамо га са доњом ивицом.
12345678910111213 | Под РангеОбјецт ()Дим рнг1 Ас Ранге'инцијализовати дометПостави рнг = опсег ("А1: Е1")'подебљајте опсег и поставите доњу границурнг.Фонт.Болд = ТачноСа рнг1.Бордерс (клЕдгеБоттом).ЛинеСтиле = клЦонтинуоус.ЦолорИндек = 0.ТинтАндСхаде = 0.Тежина = клТанакЗавршитиЕнд Суб |
Објекат облика
Такође можете користити променљиве објеката за рад са облицима.
123456789101112 | Суб АддСхапе ()Дим схп Ас Схапе'створити обликПостави схп = АцтивеДоцумент.Схапес.АддСхапе (мсоСхапеСмилеиФаце, 68.25, 225.75, 136.5, 96#)Са шп„промените боју и стил у унутрашњости.Филл.ФореЦолор.РГБ = РГБ (255, 255, 0).Филл.Солид'подесите осмех!.Подешавања. Ставка (1) = 0.07181ЗавршитиЕнд Суб |