Na tej stronie...



Wybrane instrukcjeg´┐Żra
Option Explicit
Option explicit = wymuszaj deklarowanie zmiennych.
Bardzo przydatna instrukcja, kt´┐Żra pozwala nam uchroni´┐Ż si´┐Ż od b´┐Ż´┐Żd´┐Żw podczas wykonania kodu, a sygnalizuje b´┐Ż´┐Żdy ju´┐Ż podczas analizy i kompilacji. Wstawia si´┐Ż j´┐Ż na pocz´┐Żtku ka´┐Żdego modu´┐Żu, przed deklaracj´┐Ż zmiennych i przed procedurami/funkcjami w danym module. Np.: Proponuj´┐Ż by´┐Ż u´┐Żywa´┐Ż jej w ka´┐Żdym module, projekcie, kreatorze, a wtedy unikniesz b´┐Ż´┐Żd´┐Żw z niezadeklarowanymi zmiennymi, b´┐Ż´┐Żd´┐Żw w trakcie wykonania kodu, typu: W 3 linijce powy´┐Ższej procedury wyst´┐Żpi b´┐Ż´┐Żd i kompilator poinformuje Ci´┐Ż, ´┐Że zmienna c nie zosta´┐Ża zadeklarowana.
Gdyby tego nie by´┐Żo, zmienna c by´┐Żaby zmienn´┐Ż typu Variant i zaj´┐Żaby znacznie wi´┐Żcej miejsca w pami´┐Żci ni´┐Ż mienna typu integer.
O ile by´┐Żby´┐Ż stratny - odszukaj w pomocy do´┐Ż´┐Żczanej do aplikacji Office.
Powy´┐Ższy b´┐Ż´┐Żd jest b´┐Ż´┐Żdem ma´┐Żo istotnym.
Wyobra´┐Ż sobie, ´┐Że piszesz program do testowania pami´┐Żci lub monitora. Co by´┐Żoby, gdyby´┐Ż pope´┐Żni´┐Ż drastyczny b´┐Ż´┐Żd - a´┐Ż boj´┐Ż si´┐Ż my´┐Żle´┐Ż. Wniosek: Zawsze u´┐Żywaj instrukcji Option explicit!!!

Option Base
Option Base = s´┐Żu´┐Ży do deklarowania domy´┐Żlnego dolnego ograniczenia indeks´┐Żw tablicy.
Domy´┐Żln´┐Ż warto´┐Żci´┐Ż jest zero, wi´┐Żc je´┐Żli tablice maj´┐Ż mie´┐Ż dolny rozmiar od zera, nie musisz pisa´┐Ż Option Base 0
Podobnie, jak Option Explicit wstawia si´┐Ż j´┐Ż na pocz´┐Żtku ka´┐Żdego modu´┐Żu, przed deklaracj´┐Ż zmiennych i przed procedurami/funkcjami w danym module. Np.: Wynikiem powy´┐Ższego kodu b´┐Żd´┐Ż komunikaty o tre´┐Żci:
a - Element 1
b - Element 2
c - Element 3
d - Element 4

Gdyby nie pisa´┐Ż Option Base 1, to wynikiem powy´┐Ższego kodu b´┐Żd´┐Ż komunikaty o tre´┐Żci:
a - Element 0
b - Element 1
c - Element 2
d - Element 3
Czy widzisz r´┐Żnic´┐Ż?

WI´┐ŻCEJ WIADOMO´┐ŻCI NA TEN TEMAT ZNAJDZIESZ W MOJEJ KSI´┐Ż´┐ŻCE!


Paski narz´┐Żdzig´┐Żra

Pasek narz´┐Żdzi mo´┐Że by´┐Ż:
W ka´┐Żdej aplikacji MS Office mo´┐Żliwe jest za pomoc´┐Ż VBA utworzenie jednego z wy´┐Żej wymienionych lub wszystkich pask´┐Żw.
Samo tworzenie paska narz´┐Żdzi/menu w zasadzie niczym si´┐Ż nie r´┐Żni. Drobne r´┐Żnice zwi´┐Żzane s´┐Ż z samym przechowywaniem pask´┐Żw narz´┐Żdzi.
Aby utworzy´┐Ż pasek menu (zast´┐Żpi´┐Ż menu aplikacji) wystarczy, ´┐Że wpiszesz poni´┐Ższy kod (wszystkie aplikacje):
Aby utworzy´┐Ż pasek menu popup:
Aby utworzy´┐Ż pasek narz´┐Żdzi:
Usuwanie paska menu/narz´┐Żdzi:

R´┐Żnice pomi´┐Żdzy aplikacjami:

MS Access
Paski, kt´┐Żre utworzysz w Accessie, s´┐Ż przechowywane w bazie danych, w kt´┐Żrej zosta´┐Ży utworzone!
Aby pasek by´┐Ż widoczny i dost´┐Żpny w innej bazie danych, musi powsta´┐Ż w bibliotecznej bazie danych.

MS Excel
MS Excel umo´┐Żliwia przechowywanie pask´┐Żw w danym skoroszycie lub w obszarze roboczym danego u´┐Żytkownika (domy´┐Żlnie).
Paski zapisane w obszarze roboczym b´┐Żd´┐Ż dost´┐Żpne w ka´┐Żdym z otwieranych skoroszyt´┐Żw, dop´┐Żty ich nie ukryjesz lub nie usuniesz.
Paski zapisane w danym skoroszycie b´┐Żd´┐Ż dost´┐Żpne tylko w tym skoroszycie.

MS Word
MS Word mo´┐Że przechowywa´┐Ż paski w:
Tworzenie paska w kodzie w danym dokumencie zwi´┐Żzane jest z u´┐Życiem w´┐Ża´┐Żciwo´┐Żci CustomizationContext.
CustomizationContext - zwraca lub ustawia obiekt (szablon lub dokument), w kt´┐Żrym zmieniasz/dodajesz/usuwasz paski.


WI´┐ŻCEJ WIADOMO´┐ŻCI NA TEMAT PASK´┐ŻW NARZ´┐ŻDZI/MENU ZNAJDZIESZ W MOJEJ KSI´┐Ż´┐ŻCE!


Funkcje Windows APIg´┐Żra

TAK! To wspania´┐Ża wiadomo´┐Ż´┐Ż - funkcje Windows API mo´┐Żna stosowa´┐Ż w programowaniu aplikacji Office.
Przyk´┐Żady zastosowa´┐Ż mog´┐Ż by´┐Ż przer´┐Żne, np.:
Zanim jednak om´┐Żwi´┐Ż spos´┐Żb zastosowania funkcji Windows API w aplikacjach MS Office, warto zauwa´┐Ży´┐Ż, ´┐Że wskazanie i otwarcie pliku za pomoc´┐Ż okna dialogowego mo´┐Żliwe jest nie tylko za pomoc´┐Ż funkcji Windows API, a tak´┐Że za pomoc´┐Ż wbudowanych funkcji poszczeg´┐Żlnych aplikacji, np.:
MS Excel
Funkcja w´┐Ża´┐Żciwa:

Procedura wywo´┐Żuj´┐Żca powy´┐Ższ´┐Ż funkcj´┐Ż:

MS Word
Funkcja w´┐Ża´┐Żciwa:

Wywo´┐Żanie powy´┐Ższej funkcji odbywa si´┐Ż identycznie, jak w przyk´┐Żadzie podanym w MS Excel /Sub Test()/.

MS Access
Niestety, MS Access nie posiada ju´┐Ż takich mo´┐Żliwo´┐Żci jak MS Excel, czy MS Word. Tu musimy pos´┐Żu´┐Ży´┐Ż si´┐Ż funkcj´┐Ż Widows API, np.:
Przyk´┐Żad 1 - Wskazanie pliku.
Przyk´┐Żad 2 - Wskazanie katalogu: Wywo´┐Żanie powy´┐Ższej funkcji mo´┐Że odbywa´┐Ż si´┐Ż - na przyk´┐Żad - tak:



W´┐Żasne kreatory...g´┐Żra

Ka´┐Żda z aplikacji umo´┐Żliwia budowanie w´┐Żasnych kreator´┐Żw. Kreatory to takie mini-aplikacje do zada´┐Ż specjalnych. Najcz´┐Żciej, kreatory, zbudowane s´┐Ż na zasadzie "krok po kroku", co oznacza, ´┐Że prowadz´┐Ż Ci´┐Ż przez ca´┐Ży proces zbierania informacji niezb´┐Żdnych do wykoanania okre´┐Żlonego zadania.
Najbardziej znane kreatory to: Kreator korespondencji (MS Word), Kreator tabel i wykres´┐Żw przestawnych (MS Excel), Kreator kwerend krzy´┐Żowych (MS Access).

TY te´┐Ż mo´┐Żesz budowa´┐Ż w´┐Żasne kreatory!

Zanim jednak przyst´┐Żpimy do pracy nad w´┐Żasnym kreatorem, powiniene´┐Ż wiedzie´┐Ż kilka najbardziej istotnych informacji.
Kreatory najcz´┐Żciej nosz´┐Ż inne rozszerzenie ni´┐Ż standardowe pliki (dokumenty/szablony) danej aplikacji. I tak:
RozszerzenieAplikacja
*.mdaMS Access
*.xla, *.xltMS Excel
*.wizMs Word

Kreatory mog´┐Ż powsta´┐Ż w nast´┐Żpuj´┐Żcy spos´┐Żb:
  -na podstawie szablonu,
  -na podstawie specyficznego dla danej aplikacji dodatku,
  -na podstawie dodatku opartego na technologii COM (*.dll) tworzonego w ´┐Żrodowisku programistycznym Visual Basic.

Kreatory mog´┐Ż by´┐Ż uruchamiane:
  -za pomoc´┐Ż polecenia z menu,
  -wraz z uruchomieniem danego pliku (dokumentu/szablonu),
  -przy starcie aplikacji.


WI´┐ŻCEJ WIADOMO´┐ŻCI NA TEMAT KREATOR´┐ŻW ZNAJDZIESZ W MOJEJ KSI´┐Ż´┐ŻCE!


Kod jakiegokolwiek kreatora jest za d´┐Żugi, by go tu umieszcza´┐Ż, ale przyk´┐Żadowe kreatory znajdziesz w dziale DOWNLOAD. Mo´┐Żesz ´┐Żci´┐Żgn´┐Ż´┐Ż je sobie i podpatrze´┐Ż jak zosta´┐Ży zbudowane...



Sortowanie tablicg´┐Żra

Jak powszechnie wiadomo sposob´┐Żw na sortowanie tablic jest wiele. Istniej´┐Ż te´┐Ż tablice dynamiczne i statyczne. Tablice statyczne charakteryzuj´┐Ż si´┐Ż tym, ´┐Że znamy ich g´┐Żrny rozmiar, bo musimy go okre´┐Żli´┐Ż ju´┐Ż w momencie deklaracji tablicy. Tablice dynamiczne nie maj´┐Ż ´┐Żci´┐Żle okre´┐Żlonego rozmiaru i mo´┐Że si´┐Ż on zmienia´┐Ż w trakcie dzia´┐Żania programu, z tym ma´┐Żym zastrze´┐Żeniem, ´┐Że ograniczenie g´┐Żrnego rozmiaru w trakcie dzia´┐Żania programu, b´┐Żdzie powodowa´┐Żo usuni´┐Żcie element´┐Żw znajduj´┐Żcych si´┐Ż poza nowym ograniczeniem.



Pozdrawiam
Maciej ´┐Żo´┐Ż