Poniżej napiszemy błyskawicznie pierwszy program używający formularzy. Wiemy już jak używać edytora VBE i pisać kod, skupię się więc na elementach tworzenia formularzy. Napiszemy program dodający jednocześnie kilka arkuszy.
Formularz będzie zawierał dwa pola. W pierwszym będę wpisywał ilość arkuszy do dodania. W drugim pierwszy człon nazwy. Kolejne arkusze będę się nazywać: nazwa_1, nazwa_2, nazwa_3 itd. Dodam też przycisk uruchamiający samo dodawanie oraz przycisk anulowania. Przyciski i pola na formularzu są często nazywane kontrolkami.
Rozpoczynamy od otworzenia nowego skoroszytu. Otwieram VBE , dodaję nowy formularz i zmieniam jego nazwę oraz nagłówek.
|
Dodawanie nowego formularza |
Chciałbym teraz dodać dwa pola i jeden przycisk. Listę kontrolek do dodania znajdę w przyborniku
toolbox. Włączę go w górnym menu
view/toobox.
|
Przybornik zawierający podstawowe kontrolki |
Przy pomocy graficznego edytora dodam dwa pola tekstowe. Nie zapominam o nadaniu im odpowiednich nazw. Tak jak to
opisałem w przypadku zmiennych, tutaj też jest bardzo istotne aby każdy element miał odpowiednią nazwę.
Każde pole musi być odpowiednio opisane, żeby użytkownik wiedział co powinien wpisać. Dodam dwie kontrolki
label.
Na koniec dodam dwa przyciski z odpowiednimi nazwami i napisami.
Zmienię jeszcze rozmiar formularza i mogę go już uruchomić przy pomocy przycisku Play (F5). Formularz można zamknąć krzyżykiem w prawym, górnym rogu. Naciskanie przycisków nic nie da, ponieważ nie dodaliśmy do nich żadnych zdarzeń.
Zostało nam tylko dodać kod do przycisków. Znacznie mniej kodu będzie pod przyciskiem
Anuluj. Wystarczy kliknąć dwa razy w przycisk
Anuluj. Otwiera się edytor z automatycznie utworzonym zdarzeniem:
|
Private Sub cmdCancel_Click() End Sub |
Dodam tutaj jedną instrukcję. Wywołanie specjalnej instrukcji zamykania formularza.
|
Private Sub cmdCancel_Click() Unload AddSheets End Sub |
Możemy już zamknąć formularz przyciskiem anuluj. Przejdziemy teraz do sedna. Tak samo jak przed chwilą dodajemy zdarzenie cmdAdd_Click(). Jeżeli mamy otwarte okno kodu to możemy przejść do edycji samego formularza klikając dwa razy w jego pozycję w drzewie z lewej strony.
|
Private Sub cmdAdd_Click() Dim lv_Counter As Integer Dim lr_NewSheet As Worksheet For lv_Counter = 1 To txtIle Set lr_NewSheet = Worksheets.Add lr_NewSheet.Name = txtNazwa & "_" & lv_Counter Next lv_Counter End Sub |
Nie będę tutaj analizował powyższego kodu, jest on już dla was na pewno zrozumiały.
Teraz uruchamialiśmy formularz z edytora VBE. Musimy udostępnić możliwość wygodnego uruchamiania formularza przez użytkownika. Służy do tego metoda Show formularza.
Powyższą instrukcję możemy uruchomić na
różne sposoby. Tym razem stworzę w nowym module kodu najprostszą procedurę:
|
Sub ShowForm() AddSheets.Show End Sub |
Dodam
skrót klawiaturowy uruchamiający procedurę ShowForm.
Od teraz naciśnięcie ctrl + y pokazuje nasz formularz.
Podsumowanie
Powyższy kod wykonuje tylko podstawową zaplanowaną funkcjonalność. Oczywiście program można (nawet należy) jeszcze znacznie poprawić, na przykład dodać sprawdzanie czy podana ilość arkuszy ma rozsądną wartość (nie za dużą lub za małą) lub czy nazwa nie zawiera niedozwolonych znaków. W tej chwili pojawi się błąd, jeżeli program spróbuje dodać arkusz o nazwie, która już występuje.
Wstęp
Spis treści
Uruchamianie Czytaj więcej...