/ / Programowo sprawdzaj nazwy wymaganych uczestników w C # - c #, outlook-addin

Programowo sprawdzaj nazwy wymaganych uczestników w C # - c #, outlook-addin

Piszę prosty dodatek do programu Outlook i muszę ustawić wymaganych uczestników na spotkanie.

Do tego używam następującego kodu:

...
Outlook.AppointmentItem appointment theCurrentAppointment =
Inspector.CurrentItem as Outlook.AppointmentItem;
String attendees = appointment.RequiredAttendees;
/// attendees is empty if names are not checked
/// otherwise has the correct value

Ten kod działa dobrze tylko wtedy, gdy używam funkcji nazw kontrolnych (CTRL + K), w przeciwnym razie zwraca pusty ciąg znaków.

Możliwe jest programowe sprawdzanie nazw wymaganych uczestników (do spotkania) w języku C #?

Przepraszam, ale C # nie jest moim językiem programowania i nie wiem, czy używam właściwych terminów.


Jak odtworzyć błąd:

  • Naciskam na nowe powołanie
  • Dodaję wymaganego uczestnika
  • Naciskam przycisk wywołujący moją funkcję

Jak rozwiązać problem (ręcznie, nie programowo)

  • Naciskam na nowe powołanie
  • Dodaję wymaganego uczestnika
  • Wciśnij CTRL + K
  • Naciskam przycisk wywołujący moją funkcję

Przed zapisaniem terminu muszę znać wartość RequiredAttendees. Więc nie mogę go zapisać, a następnie sprawdzić wartość RequiredAttendees.

Odpowiedzi:

2 dla odpowiedzi № 1

Przed sprawdzeniem listy uczestników uważam, że najpierw musisz zapisać pozycję spotkania przez:

AppointmentItem.Save ();

Odniesienie: https://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._appointmentitem.save.aspx

Po zapisaniu otrzymaj ponownie ten obiekt spotkania i uruchom kod potrzebny do uzyskania wymaganych uczestników (jak poniżej).

Zmienna uczestnicy zmiennej będą zawierać ciąg rozdzielany średnikami, zawierający nazwy wszystkich uczestników.

Stamtąd możesz przetworzyć go przez:

string [] names = attendees.Split (";");

która zwróci tablicę nazwisk uczestników.

Zobacz _AppointmentItem.RequiredAttendees Właściwość, aby uzyskać więcej informacji.


0 dla odpowiedzi nr 2

Zamiast używać właściwości RequiredAttendees, przeprowadź pętlę przez wszystkich odbiorców w kolekcji Odbiorcy i sprawdź to Recipient.Type == olTo (wymagany).