ВБА ТхисВоркбоок - Како се користи својство ове радне књиге у програму Екцел ВБА?

Преглед садржаја

Екцел ВБА ТхисВоркбоок

ВБА ТхисВоркбоок означава радну свеску у коју пишемо екцел код. На пример, ако радите у радној свесци под називом „Продаја 2019.клск“, обично се на ову радну књигу позивамо овако.

Радне свеске („Продаја 2019.клск“). Активирајте

Код ће активирати радну свеску под називом „Продаја 2019.клск“.

Уместо да пишемо овако, можемо једноставно да напишемо ВБА код испод.

ТхисВоркбоок.Ацтивате '

Овде се ТхисВоркбоок односи на радну свеску у коју пишемо код. Позивајући се на ову реч, можемо извршити све задатке у тренутној радној свесци и избећи дугачки код са потпуно именованим именом радне свеске.

Сигуран сам да сте и ви морали да видите реч „Активна радна свеска“ када се позивате на други код. Ово је такође једна од често коришћених речи у кодирању. Видећемо какве су разлике између ове две речи у основи.

Рад са овом радном књигом у програму Екцел ВБА

Референтна реч „ТхисВоркбоок“ поузданија је од квалификатора предмета Воркбоокс. Једна од људских тенденција је погрешно куцање имена радне свеске, што резултира избацивањем поруке о грешци.

Још један важан разлог зашто је ВБА ТхисВоркбоок поузданији, јер за сваки случај ако променимо име радне свеске, морамо да променимо код јер смо користили реч „ТхисВоркбоок“.

Дакле, ТхисВоркбоок је сигурније користити за позивање на радну свеску у коју пишемо код.

Пример # 1

Видећемо неке примере у којима можемо да користимо реч ТхисВоркбоок у екцелу ВБА. Следећи код ће исписати назив радне свеске.

Шифра:

Суб ТВБ_Екампле1 () Дим ВБНаме Ас Стринг ВБНаме = ТхисВоркбоок.Наме МсгБок ВБНаме Енд Суб

Када код покренете ручно или помоћу тастера Ф5, горњи код ће приказати име радне свеске у оквиру за поруке у ВБА.

Пример # 2

Уместо да користимо реч „Ова радна свеска“, можемо да користимо променљиве за постављање референце на радну свеску, па чак и да драстично смањимо дужину кода у ВБА. На пример, прво погледајте доњи код.

Шифра:

Под ТВБ_Екампле2 () ТхисВоркбоок.Ацтивате ТхисВоркбоок.Ворксхеетс ("Схеет1"). Ацтивате ТхисВоркбоок.Саве ТхисВоркбоок.Цлосе ТхисВоркбоок.СавеАс Енд Суб

Горњи код је користио „ТхисВоркбоок“ у свим редовима кода. Колико је тешко откуцати реч сваки пут. Дакле, ово можемо минимизирати коришћењем променљивих.

Сада погледајте доњи код са променљивом.

Шифра:

Суб ТВБ_Екампле2 () Затамни Вб као скуп радне свеске Вб = ТхисВоркбоок Вб.Ацтивате Вб.Ворксхеетс ("Схеет1"). Активирај Вб.Саве Вб.Цлосе Вб.СавеАс Енд Суб

Изгледа прелепо, зар не ??

Објаснићу вам код.

Прво, промену сам прогласио као објекат Радне свеске.

Затамни Вб као радну свеску

Будући да је ово променљива објекта, морамо поставити референцу на одређену радну свеску. Дакле, користио сам референцу „ТхисВоркбоок“.

Сет Вб = ТхисВоркбоок

Сада се променљива „Вб“ односи на радну свеску у којој тренутно пишемо код. Од сада па надаље у процедури, не требамо користити реч „ТхисВоркбоок“, већ можемо користити променљиву „Вб“.

Активна радна свеска у односу на ову радну свеску у програму Екцел ВБА

Као што сам рекао на почетку чланка, многи програмери често користе речи Ацтиве Воркбоок & ТхисВоркбоок у свом ВБА кодирању. Као читаоцу или новом ученику није лако разумети ово двоје. Па, дозволите ми да вам објасним неке разлике.

Разлика # 1: Значење

  • Активна радна свеска : Активна радна свеска није нужно радна свеска у коју тренутно пишемо код. Ако имате више отворених радних свезака и која год је радна свеска видљива на вашем екрану, сматра се активном радном свеском .
  • ТхисВоркбоок: ТхисВоркбоок је увек радна свеска у коју тренутно пишемо код.

Разлика 2: шансе за грешку

  • Активна радна свеска : Коришћење активног у кодирању може довести до многих грешака и забуне јер никада не знамо која је радна свеска активна, осим ако радну свеску посебно не наведемо за активирање пре употребе речи Активна радна свеска.
  • ТхисВоркбоок: ТхисВоркбоок не може погрешити јер није важно која је радна свеска активна. Увек је потребна референца радне свеске тамо где пишемо код.

Занимљиви Чланци...