menu.zip 38.59 kB
dodane: 9 lipca 2010
przez: admin ściągnięć: 38 | Nowa wersja makra demonstrującego tworzenie menu podręcznego (pod prawym klawiszem myszy).
Tym razem kod makra jest umieszczony w osobnym module klasy, dzięki któremu możliwe jest łatwe wykorzystanie kodu we własnym projekcie.
Poniżej pełny opis.
Klasa clsMenu umożliwia programistom VBA tworzenie w prosty sposób podręcznego menu (pod prawym klawiszem myszy)
bardzo przydatnego do wygodnej obsługi aplikacji VBA.
Jak zastosować we własnym projekcie.
Moduł clsMenu należy stawić do drzewa projektu.
Możliwości:
1. Tworzenie menu podręcznego (pod prawym klawiszem myszy) a także podmenu o dowolnym poziomie zagłębienia,
2. Wyświetlanie ikon obok pozycji menu,
3. Wyświetlanie "haczka" przy pozycji menu - opcja "checked",
4. Jeżeli podano uchwyty do obrazków opcja checked zamiast standardowego "haczka" wyświetla ikony,
5. Wyświetlanie przy pozycji menu przycisków "radio button",
6. Wyświetlanie pozycji jako domyślnej - pisanej pogrubionej czcionką,
7. Blokowanie pozycji menu - użytkownik nie ma możliwości wybrania tak oznaczonej pozycji.
Ograniczenia:
1. Rozmiar wyświetlanych obrazków przy przy pozycjach menu wynosi 13x13 pikseli,
2. Brak możliwości wyświetlania kombinacji klawiszy skrótów (np. CTRL+C).
Użycie:
1. Dodanie pozycji menu i podmenu
W dowolnym module należy zadeklarować zmienną obiektową, reprezentującą menu oraz wszystkie podmenu.
Dim oMenu As New clsMenu
Dim oSubMenu As New clsMenu
a potem należy dodać pozycje menu wg poniższego wzorca:
oMenu(albo oSubMenu).AddMenuItem(
strMenu As String, _ # tekst menu, podanie znaku - wyświetla separator
[lngValue] As Long = -1, _ # wartość, jaką zwraca menu po wybraniu danej pozycji, jeśli nie jest podana
dodanie każdej następnej pozycji menu zwiększa tę wartość o 1 począwszy od zera.
[bDisabled] As Boolean = False, _ # pozycja menu jest zablokowana po podaniu wartości TRUE
[bChecked] As Boolean = False, _ # pozycja menu jest zaznaczona po podaniu wartości TRUE
[bRadio] As Boolean = False, _ # pozycja menu będzie zaznaczona kółkiem po podaniu wartości TRUE, jeśli bChecked jest równe TRUE
[bDefault] As Boolean = False, _ # pozycja menu będzie pogrubiona (domyślna)
[lUnChecked] As Long = 0, _ # uchwyt do ikony przy pozycji menu, jeśli pozycja menu nie jest zaznaczona (domyślnie)
[lChecked] As Long = 0, _ # uchwyt do ikony przy pozycji menu, jeśli pozycja menu jest zaznaczona
[cSubMenu] As clsMenu = Nothing) # podmenu
jeżeli dane menu ma posiadać podmenu należy jego elementy dodać przed dodawaniem elementów menu głównego, a pozycję menu, w której ma się pojawiać podmenu trzeba podać jako argument cSubMenu.
2. Wyświetlenie menu
lngID = oMenu.ShowMenu(lngHwnd)
gdzie lngHwnd to uchwyt do okna formularza, na którym ma się pojawić menu.
Wartość lngHwnd można określić następująco:
Dim lngHwnd As Long
lngHwnd = FindWindow(vbNullString, Me.Caption)
funkcję FindWindow należy na samym górze modułu zadeklarować następująco:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
lngID to wartość zwracana przez metodę .ShowMenu po wybraniu pozycji menu. Wartość ta jest określona przez lngValue przy dodawaniu pozycji do menu.
Na podstawie tej wartości można wywoływać odpowiednie procedury projektu.
----------------------------------------------------------------------------------------------
W projekcie wykorzystano funkcje SafeLBound oraz SafeUBound znalezione na http://www.knowledgesutra.com/forums/topic/40311-safe-ubound-and-lbound/
Twórca niniejszego oprogramowania, Andrzej Szarek, administrator serwisu VBA.Mania nie odpowiada ewentualne straty powstałe w wyniku jego użycia. |
Reklama  |
|
WykresWKomorce.xls 151.50 kB
dodane: 15 czerwca 2010
przez: Harry ściągnięć: 94 | Ciekawe makra generujące wykres w komórce. Makra znaleziono na http://www.dailydoseofexcel.com |
kalendarzLV2.xls 166.00 kB
dodane: 15 czerwca 2010
przez: Harry ściągnięć: 99 | Kalendarz zbudowany na ListView. Część funkcji zaczerpnięto z kalendarza z arkusza Kalendarz_r_c.xls. |
popmenu_pic.zip 23.71 kB
dodane: 14 czerwca 2010
przez: admin ściągnięć: 131 | Nowa wersja makra demonstrującego tworzenie menu podręcznego (pod prawym klawiszem myszy).
Niniejsza wersja demonstruje jak do menu można dodać obrazki.
W kodzie wykorzystana została funkcja API SetMenuItemBitmaps.
Ograniczeniem jest tylko rozmiar obrazka (maksymalnie 13x13 pikseli). |
STLNawigator.zip 140.01 kB
cena: 6.1 PLN dodane: 9 maja 2010
przez: admin
| STLNawigator to zestaw plików składający się na system do tworzenia i administracji spisu elementów (ang. Bill of material, niem. Stückliste).
System ten używany jest w biurze konstrukcyjnym i obejmuje on następujące pliki i katalogi:
1. PDF - katalog z plikami rysunków technicznych,
2. Numery.xls - plik MS Excel z listą numerów części, w której zapisywane są pobrane numery,
3. Spis elementów.xls - lista elementów w postaci hierarchicznej,
4. STLNawigator.xls - nawigator do spisu elementów, przedstawiający zawartość pliku Spis elementów.xls w postaci drzewa.
Działanie polega na otwarciu pliku Spis elementów.xls a następnie pliku STLNawigator.xls.
Pojawi się wówczas okno, na którym, po kliknięciu prawym przyciskiem myszy pojawia się menu kontekstowe z opcjami programu.
Program dostarczany jest w postaci "jak jest". Autor ani serwis VBAMania nie ponoszą odpowiedzialności za ewentualne straty powstałe w wyniku używania programu. |
Ustawienia.zip 80.36 kB
dodane: 9 września 2009
przez: admin ściągnięć: 458 | Czy potrzebne wam była czasem możliwość zapisania ustawień dla waszego makra? Na przykład określenie katalogu roboczego czy położenia pliku szablonu?
Mi to się zdarzało często, postawiłem więc stworzyć taki zbiór procedur, które umożliwiają wybór katalogu, pliku, koloru czy kroju czcionki.
Jeśli potrzebuję okna dialogowego do wybory jakichś parametrów kopiuję kod z załączonego przykładu - i po sprawie.
Program wykorzystuje zamieszczoną w dziale "inne" klasę ComDlgNoOcx.cls przy pomocy której wywoływane są standardowe okna dialogowe systemu Windows (wybór pliku, wybór koloru, wybór kroju czcionki).
Do wyboru katalogu służy procedura umieszczona w osobnym module. Moduł ten ściągnąłem z Internetu i nieznacznie przerobiłem. |
Drukuj2.zip 40.58 kB
dodane: 7 czerwca 2009
przez: admin ściągnięć: 632 | Poprawione i ulepszone makro Drukuj, służące do drukowania wielu plików Excela. W tej wersji można określić arkusze do wydruku, poprzez wpisanie ich numeru w pole tekstowe, np. 1,5-10,12. |
KONWERSJA_poprawione.zip 11.48 kB
dodane: 20 maja 2008
przez: Artik ściągnięć: 960 | Nadesłane przez: Henryk.Gusciora@telekomunikacja.pl
Plik z funkcją dokonującą konwersji między dwoma dowolnie zadanymi systemami liczenia (od dwójkowego do dziesiątkowego).
Heniu twierdzi, że funkcja Waldka nie liczy poprawnie.
Sprawdźcie sami kto ma rację 
(Sorry Heniu za duuuży poślizg) |
konwersja.zip 8.04 kB
dodane: 10 stycznia 2008
przez: admin ściągnięć: 966 | Nadesłane przez: waldemar.smagacki@navo.pl
Plik z funkcją dokonującą konwersji między dwoma dowolnie zadanymi systemami liczenia (od dwójkowego do dziesiątkowego). |
PERMUTACJE 1_0.zip 21.31 kB
dodane: 14 grudnia 2007
przez: admin ściągnięć: 1283 | nadesłane przez: waldemar.smagacki@gmail.com
Generowanie permutacji na arkuszu Excela. |