VBA Debug Print - Ako používať program Debug.Print na analýzu výstupu kódu VBA?

Ladenie Excel VBA. Tlač

Debug Print je jedným z užitočných nástrojov prezentovaných v editore VBA na zistenie fungovania programu a pomáha analyzovať zmeny v hodnotách premenných vytvorených v programe VBA. Zobrazuje výstup okna s výzvou, keď program spustíme bez akýchkoľvek chýb.

Debug.print ponúka dve hlavné výhody oproti používaniu služby Msgbox na zobrazovanie výstupu kódu. Eliminuje potrebu zakaždého kliknúť na tlačidlo OK a zobrazuje protokol vrátených výstupných hodnôt do okamžitých okien. Ušetrí to používateľom veľa času. Tento článok vysvetľuje použitie aplikácie VBA Debug Print s mnohými príkladmi a vysvetľuje, ako ju používať, a zahŕňa nasledujúce veci.

Čo je to VBA Debug Print?

Debug je objekt vo VBA a používa sa s dvoma metódami nazývanými Assert a Print. Tlač je užitočnou správou na displeji a je užitočná pri hodnotení stavu. Vo VBA, ladiť. Príkaz na tlač sa používa na ktoromkoľvek mieste kódovacieho programu na zobrazenie hodnôt premennej alebo správ v okamžitom okne. Tieto nepotrebujú žiadne potvrdenie alebo potvrdenie a nevykazujú žiadny vplyv na vyvinutý kód. Je bezpečné a najlepšie ho použiť v kóde v situácii, ktorá uľahčuje prístup mnohým používateľom. Sú iba užitočné pri testovaní alebo hodnotení kódu, aby sa potvrdilo, že funguje správne alebo nie. Vytlačí premenné, reťazce, čísla, pole, hodnoty v hárkoch programu Excel a prázdne a aktívne hárky.

Ako používať ladiacu tlač Excel VBA?

VBA debug.print je vyhlásenie užitočné pri zobrazovaní viacerých premenných naraz v bezprostrednom okne. Je to najlepší a alternatívny prístup na zobrazenie výstupu.

Napríklad,

Debug.print počet, suma, priemer, štandardná odchýlka

Ako je uvedené v príklade, všetky premenné sú oddelené čiarkami. Toto vyhlásenie môže preniesť výstup do bezprostredného okna, aj keď okno nie je otvorené. Nezastaví to spustenie kódu ako v Msgboxe. Táto flexibilita podporuje nepretržité sledovanie zmien vo výstupe týkajúcich sa zmien v kóde.

Počet premenných, súčet, priemer a štandardná odchýlka sa zobrazujú na rovnakom riadku s rovnakým priestorom medzi nimi. Ak sa okamžité okno neotvorí, pozrite si výstup podľa nasledujúcich pokynov.

Kroky na otvorenie okna Okamžité a sledovanie výstupu

  • Stlačte Ctrl + G alebo kliknite na ponuku „Zobraziť“ v editore VBA.
  • Vyberte možnosť „Okamžité okno“.
  • Umiestnite kurzor do okna a znova spustite kód.
  • Sledujte výstup v okne.

Príklady ladenia Excel VBA

Nasledujú príklady demonštrujúce použitie ladiacej tlače v programe Excel VBA.

Príklad č. 1 - Zobrazenie hodnôt premenných

Najskôr prejdite na kartu Vývojár, kliknite na Makrá a vytvorte makro na napísanie kódu do VBA a na pridanie názvu.

Po pridaní mena kliknite na vytvoriť. Týmto sa otvorí editor VBA.

Vytvorte malý program, ako je to znázornené na obrázku.

Kód:

Sub premenné () Dim X As Integer Dim Y As String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X Debug.Print Y Debug.Print Z End Sub

Ako je znázornené na snímke obrazovky, tri dimenzie alebo premenné sa zmenšia ako X, Y a Z ako celé číslo, reťazec a Double. Na tlač týchto hodnôt sa používa Debug.print a výstup sa zobrazí v okne výzvy. Stlačením kombinácie klávesov CTRL + G zobrazíte výsledok, ako je znázornené na snímke obrazovky.

Tento kód spustíte pomocou klávesu F5 a stlačením klávesov CTRL + G zobrazíte výstup v okne Okamžité.

Tento program je možné zjednodušiť oddelením príkazov debug-print čiarkou.

Kód:

Sub premenné () Dim X As Integer Dim Y As String Dim Z As Double X = 5 Y = "John" Z = 105.632 Debug.Print X, Y, Z End Sub

Toto vyhlásenie o ladení vytlačí výstup v rovnakom riadku, ako je znázornené na snímke obrazovky.

Príklad č. 2 - Ladenie tlače do súboru

This example illustrates the use of VBA debug print to display output to a file when the length of the text is too high.

The program to print the output on a file is developed, as shown in the figure.

Code:

Sub DebugPrintToFile() Dim s As String Dim num As Integer num = FreeFile() Open "D:ArticlesExcel est.txt" For Output As #num s = "Hello, world!" Debug.Print s ' write to the immediate window Print #num, s ' write output to file Close #num End Sub

In this program, two variables called S and Num, are considered as string and integer. The open statement is used to create a text file with the name test. A column called “Hello World” is declared into the variable S.

When you run the VBA code manually or using the F5 key, the output is written into the immediate window, and the file at a time is shown in the folder.

The output to file is shown in the below-mentioned figure.

Printing output to file is beneficial when long text is presented.

Example #3 - Displaying the Factorial of a Number in the Immediate Window

This example illustrates the use of the debug-a print statement to show the factorial of a number.

Code:

Public Sub Fact() Dim Count As Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Next Count Debug.Print Fact End Sub

To determine the factorial, three variables are considered, including the count, number, and fact. For loop is taken to repeat the multiplication of fact-value with count to determine factorial of the number.

Here, debug. The print statement is used outside the “for” loop to display the value after completing the circle. The output is determined.

If we use debug. Print statement inside the “for” loop, the fact-value is displayed for every recurring time, as shown in the figure.

Code:

Public Sub Fact() Dim Count As Integer Dim number As Integer Dim Fact As Integer number = 5 Fact = 1 For Count = 1 To number Fact = Fact * Count Debug.Print Fact Next Count End Sub

Run the code by pressing the F5 key and see the output in the immediate window. In this situation, we should consider the last value as the factorial of the given number.

Example #4 - Printing the Full name of the Active Workbook

This example explains how to print the current workbook name into the prompt window.

The program is developed, as shown in the figure.

Code:

Sub Activework() Dim count As Long For count = 1 To Workbooks.count Debug.Print Workbooks(count).FullName Next count Debug.Print count End Sub

Tu je „count“ premenná, ktorá sa počíta na počet aktívnych zošitov a na zobrazenie celého názvu aktívneho zošita. Zobrazí sa celý názov a počet aktívnych zošitov, ako je to znázornené na obrázku.

Cesta zošita v jednotkách je presne zobrazená pomocou príkazu ladenia VBA.

Na čo treba pamätať

  • Hlavným problémom ladenia .print nie je možnosť zalamovania textu pre dlhé reťazce v bezprostrednom okne
  • Okamžité okno by sa malo dostať hore, aby ste videli výstup v používateľskom rozhraní
  • Nie je možné zabaliť dlhý text zobrazený v okne Okamžité. V tejto situácii je potrebné výsledok zobraziť v súbore uloženom na jednotke.

Zaujímavé články...