2015-09-28 1 views
0

Вот мой код:повторяющееся Назначения в Календаре получать хранится в виде еженедельных повторяющихся встреч в Outlook, 2013

Outlook.AppointmentItem oMeet; 

Meeting Meet; 

Hashtable htrecc = GetReccuranceTable(strRec); 

    if (Meet.recctype.Substring(0, 3) == "day") 

    { 

    oMeet.GetRecurrencePattern().RecurrenceType = OlRecurrenceType.olRecursDaily; 

    oMeet.GetRecurrencePattern().Interval = Convert.ToInt32(htrecc["Interval"]); 

    if (string.Equals("no", htrecc["Occurence"])) 

     oMeet.GetRecurrencePattern().NoEndDate = true; 

    else 

      if (!string.IsNullOrEmpty(Convert.ToString(htrecc["Occurence"]))) 

       oMeet.GetRecurrencePattern().Occurrences = Convert.ToInt32(htrecc["Occurence"]); 

      else 

       oMeet.GetRecurrencePattern().PatternEndDate = Meet.EndTime; 

    } 

Пожалуйста Предлагайте, если я неправильно в любом месте, потому что всякий раз, когда я пытаюсь вставить Daily Свидание в календарь он преобразуется в еженедельное назначение в календаре

ответ

0

Я бы рекомендовал начать с разрыва цепи вызовов свойств и методов и объявления их по отдельным строкам кода. Каждый раз, когда вы вызываете метод GetRecurrencePattern в коде, вы получаете новый экземпляр.

Когда вы работаете с повторяющимися пунктами назначения, вы должны освобождать любые предыдущие ссылки, получать новые ссылки на повторяющийся элемент назначения перед тем, как получить доступ или изменить элемент, и освободить эти ссылки, как только вы закончите, и сохраните изменения , Эта практика применяется к повторяющемуся объекту AppointmentItem и любому объекту Exception или RecurrencePattern. Чтобы опубликовать ссылку в Visual Basic для приложений (VBA) или Visual Basic, установите этот существующий объект в Nothing. В C# явно освободить память для этого объекта. Используйте System.Runtime.InteropServices.Marshal.ReleaseComObject, чтобы освободить объект Outlook, когда вы его закончили. Затем установите переменную Nothing в Visual Basic (null на C#), чтобы освободить ссылку на объект. Узнайте больше об этом в Systematically Releasing Objects article.

Обратите внимание, что даже после того, как вы отпустите свою ссылку и попытаетесь получить новую ссылку, если есть еще активная ссылка, удерживаемая другой надстройкой или Outlook, на один из вышеуказанных объектов, ваша новая ссылка все равно будет указывать к устаревшей копии объекта. Поэтому важно, чтобы вы опубликовали свои ссылки, как только закончите с повторяющимся назначением.

Смежные вопросы