Problem z wykonaniem instrukcji w Application_Quit

Pytania, problemy, uwagi związane ze starszymi wersjami Microsoft Outlook 2003, 2002 (XP), 2000, 98

Moderator: Moderatorzy

Problem z wykonaniem instrukcji w Application_Quit

Postprzez OShon » Wt 09.01.2007 01:33

witaj michu

mam problema o dziwnym charakterze

Umieściłem instrukcje usunięcia paska menu w ThisOutlookSession/Application_Quit, którą buduje w Application_Startup, niestety nie działa poprawnie

instrukcja uruchomiona niezależnie usuwa pasek prawidłowo, z poziomu wyjścia z aplikacji już nie ;(

Kod: Zaznacz cały
Private Sub Application_Quit()
NazwaPaska = "pasek"

With Application.ActiveExplorer
    .CommandBars(NazwaPaska).Delete
End With
End Sub


czy wpada ci coś do głowy ?
Obrazek
Oskar Shon - MVP Office Dev. 11/20, 3x MCC, 4/9/22 TechNet
Forum moderator: Outlook.pl | ExcelForum.pl | MSDN dział VBA
Zobacz fajne dodatki: Outlooka, Excela, Worda lub PowerPointa
OShon
 
Posty: 10272
Dołączył(a): Cz 19.10.2006 08:31
Lokalizacja: Projekt autorski VBATools.pl

Postprzez michu » Wt 09.01.2007 08:46

Być może w Application_Quit już nie można wykonywać tego typu operacji na interfejsie użytkownika.

Ale po co usuwać na wyjściu pasek, który dodałeś w Application_Startup?
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Wt 09.01.2007 09:53

Moim zamiarem jest:

(zadowolony użytkownik)
- Instalacja dodatku (Utworzony instalator w VB6)
- Aktywacja -jeżeli wcześniej jej nie było (alt F8 ) jedna jawna procedura
- Uruchomienie tworzy menu dodatku (funkcjanalność z poziomu przycisków menu) w prywatnych procedurach
-Opuszczenie Outlooka usuwa menu

(zamiana użytkownika lub usunięcie dodatku)
-Deinstalator (usunięcie wpisów rejestru oraz plików dodatku)

W takim szkielecie usunięcie aplikacji przez Deinstalatora powiedzie się ale zostanie pasek menu z nieaktywnymi przyciskami.

(może jest sposób aby z poziomu VB6 wyłączyć pasek?) jeżeli nie to jedyne co mi przychodzi do głowy to tworzenie w momencie uruchomienia i usuwanie podczas wyłączenia Outlooka. (przynajmniej z powodzeniem tak robię w VBA dla Excela)
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez Shon Oskar » Śr 10.01.2007 10:12

ok - zrobiłem to w VB6 - i zadziałało ;]
pozd.
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez michu » Śr 10.01.2007 10:18

W sensie, że dodawanie i usuwanie paska narzędzi zrobiłeś w programie instalacyjnym zamiast w samym programie/makrze?
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Śr 10.01.2007 10:36

Bardzo lubię zagadki a brak ich rozwiązania mnie trochę deprymuje wiec aby wyjść z głowa do góry musiałem jakoś zaradzić.

Na pierwszy rzut oka wydawało się to trudne, ale dlatego może ze próbowałem na siłę to zrobić w VBA. W tym momencie VB6 loguje się do Outlooka i wyłącza pasek. 8)
Takie rozwiązanie mi w zupełności wystarczy; a Application_Quit wyczyszczę z instrukcji

Obrazek
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.

Postprzez michu » Śr 10.01.2007 14:20

Dopiero teraz znalazłem kawałek kodu. Więc można robić to w ten sposób, że program instlacyjny instaluje/deinstaluje pasek narzędzi. Albo pasek może być tworzony przez sam program w Application_Startup. Trzeba tylko podczas tworzenia paska przy użyciu funkcji CommandBars::Add ustawić parameter Temporary na True. Wtedy pasek jest tymczasowy na czas trwania danej sesji Outlook'a i nie trzeba go usuwać w Application_Quit.

Nawet jeśli pasek jest tymczasowy, to i tak przed jego utworzeniem należy sprawdzić, czy już nie istnieje.
Pozdrawiam
Michu
michu
 
Posty: 4190
Dołączył(a): N 05.02.2006 17:49
Lokalizacja: Jelenia Góra

Postprzez Shon Oskar » Śr 10.01.2007 14:25

oo nie znałem tego parametru :o
Zresztą w Excelu i w Wordzie nie ma problemów z usunięciem paska procedury w auto_close

fajnie dzięki za podpowiedź
co prawda cel osiągnięty - ale przetestuje i ta metodę
O'Shon
Shon Oskar
 
Posty: 182
Dołączył(a): Pn 16.10.2006 09:05
Lokalizacja: Veracomp S.A.


Powrót do Microsoft Outlook

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości