VBA w Exce19, excel


VBA w Excelu - kurs dla początkujących

0x01 graphic
Okno dialogowe funkcji InputBox

Jeżeli chcemy szybko utworzyć proste okno do pobierania danych od użytkownika możemy użyć funkcji InputBox. Za pomocą funkcji InputBox użytkownik może przekazać programowi dowolną wartość wprowadzoną z klawiatury.

Funkcja InputBox wyświetla okno dialogowe z polem tekstowym i dwoma przyciskamy, po czym zwraca typ danych String będący zawartością pola tekstowego. Typ danych String stanowi sekwencję następujących po sobie znaków, które interpretowane są jako znaki tekstowe, a nie jako określone wartości numeryczne. Należy o tym pamiętać, gdy oczekujemy wprowadzenia cyfr używanych do obliczeń i w razie czego dokonać konwersji za pomocą funkcji Val.
Kliknięcie przycisku
OK lub naciśnięcie klawisza ENTER powoduje, że funkcja InputBox zwraca zawartość pola tekstowego. Funkcja zwróci ciąg o zerowej długości (""), jeśli klikniemy przycisk Anuluj.

0x01 graphic

Składnia:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [,helpfile, context])

W składni funkcji InputBox argumenty zawarte w nawiasach prostokątnych są nieobowiązkowe. Samych nawiasów prostokątnych nie należy umieszczać w kodzie programu pisanego w języku Visual Basic. Dla funkcji InputBox jedynym argumentem, który trzeba podać jest tekst wyświetlany w oknie (argument prompt).

Funkcja InputBox ma następujące argumenty:

  • prompt - argument obowiązkowy, wyrażenie znakowe wyświetlane jako komunikat w oknie dialogowym. Maksymalna długość prompt wynosi około 1024 znaki, zależnie od szerokości znaków w zastosowanej czcionce. Jeśli prompt składa się z kilku wierszy, należy je rozdzielić wstawiając znak powrotu karetki Chr(13) lub znak nowego wiersza Chr(10) albo kombinację znaków powrót karetki i nowy wiersz Chr(13) & Chr(10).

  • title - argument nieobowiązkowy, wyrażenie znakowe wyświetlane na pasku tytułu okna dialogowego. Brak argumentu title spowoduje, że na pasku tytułu zostanie umieszczona nazwa aplikacji.

  • default - argument nieobowiązkowy, wyrażenie znakowe wyświetlane w polu tekstowym (jeśli nie zostanie podany inny tekst). Brak parametru default spowoduje, że pole tekstowe będzie puste.

  • xpos - argument nieobowiązkowy, wyrażenie numeryczne określające w jednostkach zwanych "twips", odległość lewej krawędzi okna dialogowego od lewej krawędzi ekranu. Brak argumentu xpos spowoduje, że okno dialogowe zostanie umieszczone w równej odległości od lewej i prawej krawędzi ekranu.

  • ypos - argument nieobowiązkowy, wyrażenie numeryczne określające w jednostkach zwanych "twips", odległość górnej krawędzi okna dialogowego od górnej krawędzi ekranu. Brak argumentu ypos spowoduje, że okno dialogowe zostanie umieszczone na poziomie dwóch trzecich wysokości ekranu.

  • helpfile - argument nieobowiązkowy, wyrażenie znakowe określające plik Pomocy zawierający pomoc kontekstową. Argument helpfile musi być zawsze podany z argumentem context.

  • context - argument nieobowiązkowy, wyrażenie numeryczne określające identyfikator tematu w pliku Pomocy. Jeśli podany jest argument context, to musi być również podany argument helpfile.

0x01 graphic

Zastosowanie:

Za pomocą funkcji InputBox możemy uzyskać informacje od użytkownika które w jakiś sposób możemy wykorzystać.
Aby wykorzystać informacje podane przez użytkownika, wartość zwróconą przez funkcję InputBox, czyli tekst wpisany w polu tekstowym okna dialogowego przypisujemy do zmiennej. Poniżej przedstawiam kilka przykładów zastosowani funkcji InputBox. Oczywiście kody z przedstawionych poniżej przykładów umieszczamy w odpowiedniej procedurze.

Przykład 1:

Dim wartosc
 wartosc = InputBox("Podaj swoje imię")
'Wyświetlane jest okno dialogowe z zapytaniem o imię użytkownika.

Przykład 2:

Dim wartosc
 wartosc = InputBox("Podaj swoje imię", "dzono4")
'Wyświetlane jest okno dialogowe z zapytaniem o imię użytkownika. Na pasku tytułu okna dialogowego wyświetlony jest napis dzono4.

Przykład 3:

Dim wartosc
 wartosc = InputBox("Podaj swoje imię", "dzono4", "janek")
'Wyświetlane jest okno dialogowe z zapytaniem o imię użytkownika. Na pasku tytułu okna dialogowego wyświetlony jest napis dzono4. W polu tekstowym wyświetlana jest wartość domyślna tj. janek.

Przykład 4:

Dim wartosc
 wartosc = InputBox("Podaj imię", "dzono4", "janek", 500, 500)
'Wyświetlane jest okno dialogowe z zapytaniem o imię użytkownika, Na pasku tytułu okna dialogowego wyświetlony jest napis dzono4. W polu tekstowym wyświetlana jest wartość domyślna tj. janek. Określamy też położenie okna na ekranie.

Przykład 5:

Dim wartosc
 wartosc = InputBox("Podaj imię", "dzono4", "janek", 500, 500)
 Range("B2").Value = wartosc
'Przykład identyczny jak wyżej, wartość zwrócona przez okno dialogowe wpisywana jest do komórki B2 arkusza Excela.

Przykład 6:

Dim wartosc
 wartosc = InputBox("Podaj imię", "dzono4", "janek", 500, 500)
  
If wartosc = "" Then wartosc = "bezimienny"
   MsgBox "Witaj " & wartosc & " życzę przyjemnej zabawy", vbInformation, "dzono4"
'przykład podobny jak wyżej, wartość zwrócona przez okno dialogowe wykorzystaliśmy do wyświetlenia okna komunikatu z powitaniem.Jeżeli chcemy aby okno dialogowe ukazywało się w momencie otwarcia dokumentu Excela, kod przykładu należy umieścić w zdarzeniu Workbook_Open() naszego dokumentu.

Przykład 7:

 Dim haslo, ciag
  haslo = "lufa"
  ciag = InputBox("Wpisz hasło")
  
If ciag = haslo Then
   MsgBox "Podałeś prawidłowe hasło"
   
' następne instrukcje programu.
  
Else
   MsgBox "hasło nieprawidłowe"
   
End
  
End If 'W przykładzie tym pytamy użytkownika o hasło. Jeżeli użytkownik poda prawidłowe hasło (w naszym przypadku lufa), wyświetlane jest okno komunikatu z tekstem: Podałeś prawidłowe hasło. Jeżeli wpiszemy nieprawidłowe hasło, wyświetlany jest komunikat że hasło jest nieprawidłowe i następuje przerwanie działania programu.

Przykład 8:

On Error GoTo anuluj
 
Dim DataPodana As Date
 
Dim kom
  DataPodana = InputBox("Wprowadź datę w formacie " & Date, , Date)
  kom = "Liczba dni od dzisiaj: " & DateDiff("d", Date, DataPodana)
  MsgBox kom
 
Exit Sub
anuluj:
 MsgBox "Nie podałeś odpowiedniej daty, operacja anulowana"
'Kod przykładu oblicza ilość dni pomiędzy aktualną datą a datą wprowadzoną za pomocą okna dialogowego wyświetlanego przez funkcje InputBox. Dodałem też obsługę błędów jeżeli np. użytkownik naciśnie przycisk Anuluj czy pozostawi pole bez wartości.

0x01 graphic

Celem przetestowania przykładów, umieść kod określonego przykładu np. w procedurze zdarzenia Click Przycisku polecenia. Odpowiednie kroki znajdziesz między innymi na stronie Okna komunikatów.



Wyszukiwarka

Podobne podstrony:
VBA w Excel7, excel
VBA w Exce13, excel
VBA w Excelu, excel
VBA w Exce18, excel
VBA w Exce21, excel
VBA w Exce17, excel
VBA w Excel3, excel
VBA w Exce14, excel
VBA w Exce16, excel
VBA w Exce11, excel
VBA w Excel4, excel
VBA w Excel1, excel
VBA w Excel5, excel
VBA w Exce15, excel
VBA w Exce12, excel
VBA w Exce23, excel
VBA w Exce25, excel
VBA w Excel6, excel
VBA w Exce10, excel

więcej podobnych podstron