2015-12-29 13 views
9

Chcę utworzyć przycisk w dodatku VSTO programu Outlook, który po kliknięciu wyświetli widok tygodnia kalendarzowego użytkowników i chcę przekazać datę, która będzie decydować o tym, który tydzień będzie wyświetlany.W C# Outlook VSTO, czy istnieje sposób, aby zmienić widok użytkowników na widok kalendarza i zaznaczyć konkretny dzień?

Czy jest to możliwe w C# outlook vsto, aby programowo zmienić widok użytkowników?

+0

Outlook ma już taką funkcjonalność. Dlaczego chcesz wymyślić koło? –

+0

@HamletHakobyan - doceń to, co mówisz, ale robię to w ramach wielu programowych działań. Po prostu uprościłem swoją sytuację, aby zadać "odosobnione" pytanie. Reszta kontekstu mojej sytuacji nie jest wymagana dla pytania – leora

+0

Tak, możesz kontrolować widok kalendarza programowo uzyskując obiekt 'CalendarView' za pośrednictwem właściwości' CurrentView' obiektu 'Explorer'. –

Odpowiedz

2

Utwórz nowy przycisk i zdarzenie on-on click, użyj klasy CurrentView klasy Explorer.

Informacje od państw MSDN dotyczące Wyświetleń:

widoku obiektu pozwala tworzyć niestandardowe widoki, które pozwalają do lepszego sortowania, grupy i ostatecznie wyświetlić dane wszystkich różnych typów. Istnieje wiele różnych typów widoków, które zapewniają elastyczność niezbędną do tworzenia i utrzymywania ważnych danych.

  • Typ widoku tabeli (olTableView) umożliwia wyświetlanie danych w prostej tabeli opartej na polach.
  • Typ widoku kalendarza (olCalendarView) umożliwia przeglądanie danych w formacie kalendarza.
  • Rodzaj widoku karty (olCardView) umożliwia przeglądanie danych w serii kart. Każda karta wyświetla informacje zawarte w pozycji
    i może być sortowana.
  • Typ widoku ikony (olIconView) umożliwia wyświetlanie danych jako ikon, podobnie jak folder Windows lub eksplorator.
  • Typ widoku osi czasu (olTimelineView) umożliwia wyświetlanie danych po ich otrzymaniu w dostosowywanej liniowej linii czasu.

będziemy chcieli użyć olCalendarView który defiened i dostosowane za pomocą właściwości XML widoku obiektu. Obiekt XML pozwala na tworzenie i ustawić niestandardowy schemat XML, który definiuje różne funkcje widokiem

Następnie można ustawić datę, którą chcesz (w przypadku, gdy aktualny widok jest widok kalendarza) -

Outlook.Explorer olkExplorer = Application.ActiveExplorer(); 
DateTime selectedDate = DateTime.Now.AddDays(5); 

if (olkExplorer.CurrentView is Outlook.CalendarView) 
{ 
    Outlook.CalendarView olkCalendarView = olkExplorer.CurrentView as Outlook.CalendarView; 

    olkCalendarView.GoToDate(selectedDate); 
} 

Mam nadzieję, że to rozwiąże Twoje pytanie.

Powiązane problemy