04 lista kontaktow

background image

Zastosowanie Informatyki w Finansach i Bankowości II

Wykorzystanie Microsoft Excel i Visual Basic for Applications w tworzeniu arkuszy stanowiących źródło

danych dla dokumentów seryjnych.

1. Aby arkusz kalkulacyjny stanowił odpowiednie źródło danych dla dokumentów seryjnych w MS Word, dane

powinny być umieszczone w prawidłowy sposób. W pierwszym wierszu powinny znaleźć się tytuły kolumn
zawierających dane dokumentów seryjnych. Nadane tytułu będą jednocześnie stanowiły nazwy pól w

korespondencji seryjnej. Ponadto arkusz powinno się wyposażyć w komórkę zliczającą ilość kontaktów. W tym

celu można wykorzystać funkcję =ile.niepustych dla jednej z kolumn. Formuła komórki dla kolumny B będzie

wyglądała następująco =ile.niepustych(B:B) – 1 gdzie B:B oznacza całą kolumnę B a – 1 pomija pierwszy wiersz,

w którym zawarte są tytuły kolumn.

2. Kolejnym etapem będzie dodanie okna dialogowego i wyposażenie go w odpowiednie elementy pozwalające na

wprowadzanie danych. W celu utworzenia własnego okna dialogowego należy otworzyć edytor VBA i wybrać

opcję INSERT/USERFORM z menu głównego edytora. Po wybraniu opcji wyświetli się nowy pasek narzędzi

„TOOLBOX” oraz puste okienko dialogowe o nazwie Userform1.

3. Aby okienko dialogowe mogło być użyte dla obsługi procesu wprowadzania danych do utworzonej wcześniej

tabeli powinno się je wyposażyć w dodatkowe elementy pozwalające na wprowadzanie i manipulowanie danymi.

Tymi elementami będą pola tekstowe (TEXTBOX). Ponadto powinno się użyć dodatkowo elementów „Label” czyli

etykiet w celu opisania pól tekstowych.

4. Tabela zawiera 7 kolumn danych, a więc każdy rekord tabeli będzie się składał z 7 elementów składowych.

Dlatego utworzone wcześniej okno dialogowe powinno zostać wyposażone w 7 elementów typu „TEXTBOX” oraz

7 etykiet. Etykiety powinny być tożsame z tytułami kolumn tabeli natomiast pola tekstowe powinny otrzymać
nazwy, którymi później łatwo się będzie posługiwać przy tworzeniu makra. Nadawanie nazw obiektom typu

„FORM” odbywa się poprzez wykorzystanie okna dialogowego „PROPERTIES” w edytorze VBA. Aby utworzonemu

elementowi nadać nazwę należy wybrać dany element lewy klawiszem mysz a następnie w oknie „Properties”

zmienić pole „(Name)” . Ponieważ każdy rekord składa się z siedmiu elementów, można utworzonym polom

tekstowym nadać nazwy zgodne z numerami kolumn, które będą wypełniać. Np. d_1 , d_2 , d_3 , d_4 , d_5 ,

d_6 , d_ 7.

5. Aby okienko dialogowe było w pełni funkcjonalne można dodać dwa przyciski „CommandButton”. Odpowiednie

elementy znajdziemy jak wcześniej w pasku „TOOLBOX”. Po dodaniu powinno się zmienić ich wewnętrzne

etykiety w okienku „PROPERTIES” poprzez zmianę pól „CAPTION”. Jeden z przycisków powinien służyć do

dopisywania kolejnych rekordów tabeli (nazwa – „DOPISZ”) a drugi do zamykania okna dialogowego

(„ZAMKNIJ”). Na samym końcu można zmienić nazwę okna dialogowego oraz komunikat w pasku okienka czyli
właściwości (Name) oraz Caption na odpowiednio Panel i DOPISZ KONTAKT

6. Po przygotowaniu okna dialogowego powinniśmy poleceniem INSERT/MODULE z menu głównego edytora VBA

dodać element MODULE zwierający makra. Pierwsze makro powinno zajmować się pokazywaniem utworzonego

przez nas okna dialogowego z poziomu arkusza:

Sub PokazPanel()
Panel.Show

End Sub

TEXTBOX

CAPTION

COMMAND

BUTTON

LABEL

background image

7. Aby zapewnić łatwe uruchamianie okienka dialogowego z poziomu arkusza należy dodać przycisk z grupy

„Formularze” oraz przypisać mu makro „PokazPanel”.

8. Po wykonaniu poprawnie wszystkich wyżej wymienionych czynności, po naciśnięciu przycisku z poziomu arkusza

powinno pokazać się utworzone okno dialogowe. Można je na tym etapie zamknąć jedynie krzyżykiem.

Zamykanie okna przyciskiem „Zamknij” będzie możliwe po przypisaniu odpowiedniego makra przyciskowi. W tym

celu należy powrócić do edytora VBA i w okienku VBA Project uruchomić oknodialogowe dwukrotnym kliknięciem
z folderu Forms. Następnie dwukrotnie kliknąć na przycisku mającym odpowiadać za zamykanie okna

dialogowego.

9. Pojawi się okno zawierające prywatne makra okna dialogowego oraz następujące sformułowanie

Private Sub CommandButton2_Click()


End Sub

10. W wolnym miejscu należy wpisać makro umożliwiające zamykanie okna dialogowego.

Private Sub CommandButton2_Click()

Unload Panel

End Sub


*Jeżeli po poleceniu Unload użyjemy zamiast nazwy okna dialogowego sformułowania Me, to makro będzie zamykało bieżące aktywne okno
dialogowe.

11. Pozostaje jedynie utworzenie ostatniego makra dla przycisku DOPISZ. Jeżeli w edytorze dowolne sformułowanie

poprzedzimy znakiem ‘ to będzie ono traktowane jako informacja.

Private Sub CommandButton1_Click()

' Dynamiczna ilość danych powoduje konieczność pobrania z arkusza długości tabeli

' nn - liczba kontaktow w skrzynce kontaktowej

nn = Range("ILOSC").Value + 1


' warunek jest potrzebny by uruchamiac poszczegolne akcje. Jezeli warunek

' bedzie rowny zero zostanie dopisana kolejna pozycja. Jezeli dane beda niekompletne warunek

' otrzyma wartosc 1 i makro zostanie automatycznie przerwane poniewaz dalsza jego czesc będzie

' uruchamiana tylko w przypadku gdy warunek = 0

' ponizsze sformulowanie ustawia domyslna wartosc warunku

Warunek = 0

' ponizej sformulowano odpowiedni test logiczny, ktory spowoduje warunek = 1

If d_1 = "" Or d_2 = "" Or d_3 = "" Or d_4 = "" Or d_5 = "" Or d_6 = "" Or d_7 = "" Then Warunek = 1

' Reakcja okienkiem informacyjnym na warunek = 1

If Warunek = 1 Then MsgBox "WYPELNIJ WSZYSTKIE POLA"

' Jezeli wszystkie pola sa wypelnione

If Warunek = 0 Then

' uruchomiona zostanie tzw. petla czyli n = 1, n= 2, n= 3 az do wartosci nn

' dla przykladu jezeli w ksiazce sa 4 kontakty to dlugosc tabeli a zarazem parametr nn

' sa rowne 5 i wtedy petla zostanie wykonana dla n z przedzialu <1,5>
' dla kolumny liczba porządkowa petla zwroci aktualne n a dla kolejnych kolumn wartosci odpowiednich

' pol tekstowych okna dialogowego

For n = 1 To nn

'numer wiersza w komendzie Cells() zostal wprowadzony jako n + 1 aby zawsze petla znalazla
'pierwszy pusty wiersz tabeli i tam wpisala wartosci pol tekstowych do odpowiednich pol rekordu

If Cells(n + 1, 1).Value = "" Then

background image

Cells(n + 1, 1).Value = n

Cells(n + 1, 2).Value = d_1

Cells(n + 1, 3).Value = d_2

Cells(n + 1, 4).Value = d_3

Cells(n + 1, 5).Value = d_4

Cells(n + 1, 6).Value = d_5
Cells(n + 1, 7).Value = d_6

Cells(n + 1, 8).Value = d_7

End If

Next n

End If

End Sub


Wyszukiwarka

Podobne podstrony:
Lista kontaktów
lista kontaktów
Lista kontaktów
Lista kontaktów alarmowych, Zarządzanie projektem(1)
04 Lista kontrolna GIP BHP na b Nieznany (2)
04. LISTA ZADAŃ STATYSTYKA z DEMOGRAFIĄ WSB, statystyka z demografią
Lista kontaktów Mediów
Zadanie 04 Lista 08 m
LISTA I KONTAKTU DLA ZK I AR
Lista kontaktów
LISTA KONTAKTOW FM GROUP
lista 04 (2)
lista 04
322[01] O1 04 Nawiązywanie i utrzymywanie kontaktów międzylu
Lista-II-GBC 04, lolo, druki bhp płyta, Dokumenty, II
Biochemia I Lista 04 PL

więcej podobnych podstron