2015-12-29 33 views
9

Voglio creare un pulsante in un addon di Outlook VSTO che, quando si fa clic, mostrerà la vista settimana del calendario Outlook degli utenti e voglio passare una data che guiderà quale settimana mostra.In C# Outlook VSTO, c'è un modo per cambiare la visualizzazione degli utenti alla vista del calendario ed evidenziare un giorno specifico?

È possibile ciò in C# outtount per modificare in modo programmatico la visualizzazione degli utenti?

+0

Outlook dispone già di tale funzionalità. Perché vuoi inventare la ruota? –

+0

@HamletHakobyan - apprezzo quello che stai dicendo, ma in realtà sto facendo questo come parte di una serie di azioni programmatiche. Ho semplicemente semplificato la mia situazione per porre una domanda "isolata". Il resto del contesto della mia situazione non è richiesto per la domanda – leora

+0

Sì, è possibile controllare la vista del calendario a livello di codice ottenendo l'oggetto 'CalendarView' tramite la proprietà' CurrentView' dell'oggetto 'Explorer'. –

risposta

2

Creare un nuovo pulsante e al suo evento di clic utilizzare la proprietà CurrentView della classe Explorer.

informazioni da MSDN stati per quanto riguarda Visualizzazioni:

The View oggetto consente di creare viste personalizzabili che consentono al meglio ordinare, raggruppare e, infine, visualizzare i dati di tutti i tipi differenti. Esistono diversi tipi di visualizzazione che forniscono la flessibilità necessaria per creare e gestire i dati importanti.

  • Il tipo di visualizzazione tabella (olTableView) consente di visualizzare i dati in una semplice tabella basata su campo.
  • Il tipo di visualizzazione Calendario (olCalendarView) consente di visualizzare i dati in un formato di calendario.
  • Il tipo di visualizzazione della scheda (olCardView) consente di visualizzare i dati in una serie di schede. Ogni scheda visualizza le informazioni contenute nell'articolo
    e può essere ordinato.
  • Il tipo di visualizzazione delle icone (olIconView) consente di visualizzare i dati come icone, simili a una cartella di Windows o ad Esplora risorse.
  • Il tipo di visualizzazione timeline (olTimelineView) consente di visualizzare i dati mentre vengono ricevuti in una linea temporale lineare personalizzabile.

Ti consigliamo di utilizzare olCalendarView che è defiened e personalizzato utilizzando la proprietà XML dell'oggetto View. La proprietà XML consente di creare e impostare uno schema XML personalizzato che definisce le varie caratteristiche di una vista

Quindi è possibile impostare la data che si desidera (nel caso in cui la visualizzazione corrente è vista calendario) -

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); 
} 

Spero che supporti la tua domanda.