Добавление дат Excel в календарь Outlook

У Келли есть рабочий лист, в котором у нее есть таблица дат, используемых в качестве дат закрытия для размещения рекламы на местных Желтых страницах. Она хочет импортировать эти даты в календарь Outlook с 72-часовым напоминанием, но некоторые даты продолжают меняться на числа. Келли задается вопросом, как она может перенести даты Excel в Outlook, как ей нужно.

Работа с Outlook – это немного «более высокий уровень», чем обычный макрос Excel, потому что вам нужно понимать не только как получить доступ к данным Excel в макросе, но и как управлять данными Outlook. Не зная точно, какие данные вам нужно передать с листа на встречу Outlook, давайте рассмотрим небольшой сценарий.

Предположим, что у вас есть рабочий лист, содержащий ряд строк, каждая из которых представляет одну встречу, которую вы хотите создать. Каждая встреча содержит информацию в семи столбцах слева направо:

  • Subject. Текст, описывающий событие/встречу (для например, «Напоминание о желтых страницах»)
  • Location. Текст, описывающий место проведения мероприятия, например, комната для собраний или номер конференц-связи (это необязательно)
  • Дата/время начала. Введите дату и время, когда событие должно начаться, используя стандартный формат даты Excel (вы можете отображать как угодно)
  • Продолжительность. Целое число, представляющее количество минут для встречи.
  • Статус занятости. Целое число, которое представляет необязательное значение, указывающее, должно ли время отображаться как Свободно (0), Под вопросом (1), Занято (2) или Нет на рабочем месте (3).
  • Напоминание Время. Целое число, представляющее количество минут до встречи, когда должно появиться напоминание (например, 4320 – количество минут в 3 дней)
  • Body. Текст, описывающий любую деталь, которую вы можете разместить в теле встречи.

Имея эти данные, вы можете использовать макрос для циклического перебора всех строк (начиная со второй строки, если первая строка имеет заголовки) и создания встречи для каждой строки.

 Sub  AddAppointments () 'Создать сеанс Outlook Set myOutlook = CreateObject ("Outlook.Application")' Начать со строки 2 r = 2 До обрезки (Cells (r, 1) .Value) = "" 'Создать AppointmentItem Set myApt =  myOutlook.createitem (1) 'Установите свойства встречи myApt.Subject = Cells (r, 1) .Value myApt.Location = Cells (r, 2) .Value myApt.Start = Cells (r, 3) .Value myApt.Duration  = Cells (r, 4) .Value 'Если статус занятости не указан, по умолчанию будет 2 (Занят) Если Trim (Cells (r, 5) .Value) = "" Тогда myApt.BusyStatus = 2 Else myApt.BusyStatus = Cells  (r, 5) .Value End If If Cells (r, 6) .Value> 0 Then myApt.ReminderSet = True myApt.ReminderMinutesBeforeStart = Cells (r, 6) .V  alue Else myApt.ReminderSet = False End If myApt.Body = Cells (r, 7) .Value myApt. Сохранить r = r + 1 LoopEnd Sub 

Макрос продолжает цикл по строкам, пока столбец Subject не станет пустым.

Оцените статью
Frestage.ru
Добавить комментарий