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ś