Jestem nowy w programowaniu Outlook tak dla pierwszego etapu (bardziej zaawansowany później) jest następujące zadanie:Jak uzyskać dostęp do okna Inspektora Wstążka w programie Outlook?
- Utwórz nowy wstążka zakładka (Ribbon1) (należy zamieścić w odkrywców i nowych inspektorów)
- Przy wyborze (Przeglądaj) lub otwarcie (Inspektor) pocztę karta wstążki powinna pokazać przedmiot pocztą (Jak wspomniano przetestować)
Explorer część była dość łatwo dostać się dzieje, ale mam problemy z powyższym dla nowego inspecto rs
Próbowałem różnych podejść, ale żaden nie wydają się działać:
Próbowałem w NewInspector odwołać się do Globals.Ribbons [inspektor] .Ribbon1 ale to jest zawsze zerowa
Próbowałem w NewInspector, aby zasubskrybować zdarzenie Activate i zrobić to stamtąd, ale tam Application.ActiveInspector() ma wartość null i jeśli przechowuję globalną kopię inspektora ze zdarzenia NewInspector, to nie działa on pierwszy nowy inspektor (tylko po drugim i przeczytanym mailu. nie na tworzenie wiadomości)
Próbowałem użyć zdarzenia Ribbon Załaduj ale to zdarza się tylko za pierwszym razem
Próbowałem użyć elementu Globals.Ribbons.Ribbon1 ale tylko pracować dla pierwszy raz
(Znalazłem wiele próbek NewInspector ale nikt nie wydają się chce zmodyfikować wstążkę inny niż ten https://stackoverflow.com/questions/7852017/outlook-2007-ribbon-object-reference-not-set-to-an-instance-of-an-object a do tego nie ma żadnych odpowiedzi)
jest to mi jazdy szalony ... Jest tak naprawdę nie ma sposobu na wykonanie tak prostego zadania !?
Przykładowy kod dla odniesienia
void InspectorsNewInspector(Outlook.Inspector inspector)
{
AddInspectorEventHandlers(inspector);
}
private void AddInspectorEventHandlers(Outlook.Inspector inspector)
{
if (inspector == null)
{
return;
}
Ribbon1 ribbon1 = Globals.Ribbons[inspector].Ribbon1; //This always return null!!!
((Outlook.InspectorEvents_10_Event)inspector).Activate += InspectorActivate;
((Outlook.InspectorEvents_10_Event)inspector).Close += InspectorClose;
_openInspectors.Add(inspector);
}
Podziel Twoim źródłem jak drut 'InspectorsNewInspector'. Cała klasa AddIn będzie korzystna dla kontekstu. – SliverNinja