ВБА отклањање грешака | Како користити алатку Дебуг.Принт за анализу излаза ВБА кода?

Екцел ВБА Дебуг.Принт

Отклањање грешака је један од корисних алата представљених у ВБА уређивачу како би се утврдило како програм ради и помаже у анализи промена вредности променљивих креираних у ВБА програму. Приказује излаз непосредног прозора када покренемо програм без грешака.

Дебуг.принт нуди две главне предности у односу на употребу Мсгбок-а за приказ излаза кода. Елиминише потребу за кликом на дугме У реду сваки пут и приказује дневник враћених излазних вредности у непосредни прозор. Уштеди пуно времена корисницима. Овај чланак објашњава употребу екцел ВБА програма за отклањање грешака са многим примерима и објашњава како се њиме покривају следеће ствари.

Шта је ВБА отклањање грешака?

Отклањање грешака је објекат у ВБА-у и користи се са две методе назване Ассерт и Принт. Штампање је корисно у приказној поруци и тврди да је корисно у процени услова. У ВБА, наредба дебуг.принт се користи на било ком месту програма за кодирање да би приказала вредности променљиве или порука у непосредном прозору. Њима није потребно никакво потврђивање или потврда и не показују никакав утицај на развијени код. То је сигурно и најбоље користити у коду у ситуацији да се олакша приступ многим корисницима. Они су само корисни у тестирању или процени кода како би се потврдило да ли ради исправно или не. Штампање променљивих, низова, бројева, низа, вредности у Екцел листовима и празним и активним листовима.

Како се користи Екцел ВБА отклањање грешака?

ВБА дебуг.принт је изјава корисна за приказивање већег броја променљивих одједном у непосредном прозору. То је најбољи и алтернативни приступ за приказ резултата.

На пример,

Број отисака отклањања грешака, збир, просек, стандардна девијација

Као што је приказано у примеру, све променљиве су одвојене зарезима. Ова изјава је у стању да пренесе излаз у непосредни прозор чак и у случају да се прозор не отвори. Не зауставља покретање кода као у Мсгбок-у. Ова флексибилност подржава континуирано праћење промена у излазу у односу на промене у коду.

Променљиве бројање, зброј, просек и стандардна девијација приказују се у истом реду са једнаким размаком међу њима. Ако се тренутни прозор не отвори, следите следеће кораке да бисте видели излаз.

Кораци за отварање непосредног прозора и преглед резултата

  • Притисните Цтрл + Г. или кликните на мени „Приказ“ у ВБА едитору.
  • Изаберите опцију „Непосредни прозор“.
  • Поставите курсор у прозор и поново покрените код.
  • Посматрајте излаз у прозору.

Примери програма Екцел ВБА Дебуг.Принт

Следе примери за демонстрацију коришћења исписа за отклањање грешака у екцелу ВБА.

Можете да преузмете овај ВБА образац за отклањање грешака у програму за испис Екцел - ВБА образац за отклањање грешака у програму Екцел

Пример # 1 - Приказивање вредности променљивих

Прво идите на картицу Девелопер, кликните на Мацрос и створите макро за писање кода у ВБА и додајте му име.

Након додавања имена кликните на цреате. Ово отвара ВБА едитор.

Развити мали програм као што је приказано на слици.

Шифра:

 Пот променљиве () Дим Кс Ас Интегер Дим И Ас Стринг Дим З Ас Доубле Кс = 5 И = "Јохн" З = 105.632 Дебуг.Принт Кс Дебуг.Принт И Дебуг.Принт З Енд Суб 

Као што је приказано на снимку екрана, три димензије или променљиве смањују се као Кс, И и З као цели број, низ и Доубле, респективно. За испис ових вредности користи се Дебуг.принт и излаз ће бити приказан у непосредном прозору. Притисните ЦТРЛ + Г. да бисте видели излаз као што је приказано на снимку екрана.

Покрените овај код помоћу тастера Ф5 и притиснитеЦТРЛ + Г. да бисте видели излаз у непосредном прозору.

Овај програм се може поједноставити одвајањем наредби дебуг.принт зарезом.

Шифра:

 Пот променљиве () Дим Кс Ас Интегер Дим И Ас Стринг Дим З Ас Доубле Кс = 5 И = "Јохн" З = 105.632 Дебуг.Принт Кс, И, З Енд Суб 

Ова изјава о отклањању грешака исписује излаз у истом реду као што је приказано на снимку екрана.

Пример # 2 - Исписивање грешака у датотеку

Овај пример илуструје употребу исписа за отклањање грешака ВБА за приказивање излаза у датотеци када је дужина текста превисока.

Програм за штампање резултата на датотеци развијен је како је приказано на слици.

Шифра:

 Суб ДебугПринтТоФиле () Затамни као низ Затамни број Као цео број нум = ФрееФиле () Отвори "Д: \ Чланци \ Екцел \ тест.ткт" За излаз као #нум с = "Здраво, свет!" Дебуг.Принт исписати у непосредни прозор Испис #нум, исписати излаз у датотеку Затворити #нум Крај Суб 

У овом програму, две променљиве назване С и Нум сматрају се низом, односно целим бројем. Изјава опен користи се за креирање текстуалне датотеке са тестом имена. Низ под називом „Хелло Ворлд“ декларисан је у променљиву С.

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

Излаз у датотеку приказан је на доњој слици.

Испис излаза у датотеку је користан када се приказује дугачак текст.

Пример # 3 - Приказивање фактора броја у непосредном прозору

Овај пример илуструје употребу наредбе дебуг.принт за приказивање фактора броја.

Шифра:

 Јавна помоћна чињеница () Заброји као целобројно Затамни број као целобројно Затамни чињеницу као целобројно = 5 Чињеница = 1 За бројање = 1 До броја Чињеница = Чињеница * Броји Следеће бројање Отклањање грешака. Штампај Чињеница Крај Суб 

Да би се утврдио факторијел, узимају се у обзир три променљиве, укључујући број, број и чињеницу. За петљу Фор се узима понављање множења вредности чињенице бројањем да би се утврдио факторијел броја.

Овде се наредба дебуг.принт користи изван петље „фор“ за приказ вредности након завршетка петље. Излаз се одређује као.

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

Шифра:

 Јавна помоћна чињеница () Заброји као целобројно Затамни број као целобројно Затамни чињеницу као целобројно = 5 Чињеница = 1 За бројање = 1 До броја Чињеница = Чињеница * Бројање отклоњених грешака. 

Покрените код притиском на тастер Ф5 и погледајте излаз у непосредном прозору. У овој ситуацији, последњу вредност бисмо требали сматрати фактором датог броја.

Пример # 4 - Штампање пуног имена активне радне свеске

Овај пример објашњава како исписати тренутно име радне свеске у непосредни прозор

Програм је развијен како је приказано на слици.

Шифра:

 Суб Ацтивеворк () Дим цоунт Ас Лонг Фор цоунт = 1 То Воркбоокс.цоунт Дебуг.Принт Воркбоокс (цоунт) .ФуллНаме Нект цоунт Дебуг.Принт цоунт Енд Суб 

Овде је „цоунт“ променљива узета за бројање броја активних радних свезака и за приказ пуног имена активне радне свеске. Пуно име и број активних радних књига су приказани као што је приказано на слици.

Путања радне свеске у погонима тачно се приказује помоћу израза ВБА дебуг.принт.

Ствари које треба запамтити

  • Главни проблем са отклањањем грешака .принт није опција умотавања текста за дуге низове у непосредном прозору
  • Непосредни прозор треба да буде постављен на врх да бисте видели излаз у корисничком интерфејсу
  • Немогуће је премотати дугачки текст приказан у непосредном прозору. У овој ситуацији, излаз мора бити приказан у датотеци која је сачувана у погону.