Compartilhar via


Criar um compromisso recorrente anual que usa um padrão YearNth

Este exemplo mostra como criar um compromisso para o qual o padrão de recorrência anual é um dia específico, como a primeira segunda-feira de junho.

Exemplo

Observação

O exemplo de código a seguir é um trecho de Programar aplicativos para o Microsoft Office Outlook 2007.

Se você quiser criar um compromisso anual com recorrência em um determinado dia da semana durante um mês específico (por exemplo, a primeira segunda-feira em junho), você deve usar recorrências YearNth. Para definir uma recorrência YearNth, primeiro você deve definir a propriedade RecurrenceType do objeto RecurrencePattern como olRecursYearNth. Depois, defina a propriedade DayOfWeekMask para especificar em que dia da semana o compromisso deve se repetir, e o a propriedade Instance para especificar a n-ésima ocorrência do dia da semana especificado (por exemplo, a terceira terça-feira) durante um mês especificado para o padrão anual.

Ao trabalhar com itens de compromisso recorrente, você deve liberar referências anteriores, obter novas referências para o item de compromisso recorrente antes de acessar ou modificar o item e liberar essas referências assim que tiver terminado e salvado as alterações. Essa prática aplica o objeto AppointmentItem recorrente e a qualquer objeto Exception ou RecurrencePattern. Para liberar uma referência no Visual Basic, defina esse objeto existente como Nothing. Em c#, release explicitamente a memória para aquele objeto.

Observe que mesmo após liberar sua referência e tentar obter uma nova referência, se ainda houver uma referência ativa (mantida por outro suplemento ou pelo Outlook) para um dos objetos acima, sua nova referência continuará a apontar para uma cópia desatualizada do objeto. Portanto, é importante liberar suas referências assim que seu compromisso recorrente terminar.

No exemplo de código a seguir, RecurringYearNthAppointment cria um compromisso com um padrão de recorrência de YearNth. RecurringYearNthAppointment primeiro cria um compromisso recorrente criando um objeto AppointmentItem. Em seguida, ele recebe o padrão de recorrência do compromisso usando o método GetRecurrencePattern(). Em seguida, ele define as seguintes propriedades RecurrencePattern: RecurrenceType, DayOfWeekMask, MonthOfYear, Instance, Occurrences, Duration, PatternStartDate, StartTime e EndTime. A propriedade MonthOfYear pode levar um valor numérico de 1 a 12, onde cada número representa o mês correspondente. Quando as propriedades estão definidas, RecurringYearNthAppointment salva o compromisso e o exibe com o padrão "Ocorre na primeira segunda-feira de junho de 1/6/2007 até 6/6/2016 de 14:00 a 17:00."

Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instruçãousing não deve ocorrer diretamente antes das funções no exemplo de código, mas deve ser adicionada antes da declaração de classe pública. The following line of code shows how to do the import and assignment in C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void RecurringYearNthAppointment()
{
    Outlook.AppointmentItem appt = Application.CreateItem(
        Outlook.OlItemType.olAppointmentItem)
        as Outlook.AppointmentItem;
    appt.Subject = "Recurring YearNth Appointment";
    Outlook.RecurrencePattern pattern = appt.GetRecurrencePattern();
    pattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearNth;
    pattern.DayOfWeekMask = Outlook.OlDaysOfWeek.olMonday;
    pattern.MonthOfYear = 6;
    pattern.Instance = 1;
    pattern.Occurrences = 10;
    pattern.Duration = 180;
    pattern.PatternStartDate = DateTime.Parse("6/1/2007");
    pattern.StartTime = DateTime.Parse("2:00:00 PM");
    pattern.EndTime = DateTime.Parse("5:00:00 PM");
    appt.Save();
    appt.Display(false);
}

Confira também