Jedną z zalet VBA jako języka interpretowanego jest to, że możemy wykonywać poszczególne procedury bez konieczności kompilowania całej aplikacji. Przyjrzyjmy się dokładnie, jak to robimy.
Procedury publiczne
Publiczne procedury bez argumentów
W standardowym module możesz umieścić kursor wewnątrz procedury publicznej, która nie ma żadnych argumentów, naciśnij [F5], a procedura zostanie natychmiast wykonana.
Jeśli chcesz przejść przez procedurę, możesz ustawić punkt przerwania w jednej z linii przed naciśnięciem klawisza [F5] lub po prostu nacisnąć klawisz [F8] ("Step Into") i natychmiast rozpocząć przechodzenie przez kod procedury.
Funkcje publiczne bez argumentów
Działa to również z funkcjami publicznymi w standardowych modułach kodu. Kluczem jest to, że funkcja nie może akceptować żadnych argumentów, nawet opcjonalnych.
Procedury publiczne z argumentami
Co się stanie, jeśli spróbujesz wykonać procedurę publiczną, która przyjmuje jeden lub więcej argumentów (nawet opcjonalnych)? Polecenie „Uruchom> Uruchom makro” wykonuje:
Procedury prywatne
Prywatne procedury bez argumentów
Nie mogę przyjąć zasługi za odkrycie tego. Specjalne podziękowania kierujemy do Terry'ego Chapmana za przekazanie faktu, że możesz nacisnąć F5, aby debugować Prywatne obowiązujące procedury, a nie tylko procedury publiczne.
Podobnie jak Terry, chwilowo zmieniałem moje procedury prywatne na publiczne, gdy je debugowałem. Okazuje się, że nigdy nie musiałem tego robić.
Procedury prywatne Z Argumenty
Kiedy Terry zmusił mnie do zakwestionowania moich przypuszczeń, postanowiłem sprawdzić, jak wiele mi ujdzie na sucho. Okazuje się, że znacznie więcej, niż się spodziewałem!
Wierz lub nie, ale możesz debugować prywatne procedury, które przyjmują argumenty bez czasowo zmieniając je na procedury publiczne. Aby to zrobić, wystarczy wywołać w pełni kwalifikowaną nazwę procedury z okna bezpośredniego. Przez „w pełni kwalifikowaną nazwę” rozumiem nazwę w formacie {ModuleName}.{ProcedureName}
.
Sprawdź ten przykład:
Ale nie wierz mi na słowo. Idź, spróbuj!