Добавление дат Excel в календарь Outlook (Microsoft Excel)
У Келли есть рабочий лист, в котором у нее есть таблица дат, используемых в качестве дат закрытия для размещения рекламы на местных Желтых страницах. Она хочет импортировать эти даты в Outlook Calendar
с 72-часовым напоминанием, но некоторые даты продолжают меняться на числа.
Келли задается вопросом, как она может перенести даты Excel в Outlook, как ей нужно.
Работа с Outlook — это немного «более высокий уровень», чем обычный макрос Excel, потому что вам нужно понимать не только, как получить доступ к данным Excel в макросе, но и как манипулировать данными Outlook. Не зная точно, какие данные вам нужно перенести с листа на встречу Outlook, давайте рассмотрим небольшой сценарий.
Предположим, у вас есть рабочий лист, содержащий серию строк, каждая из которых представляет отдельную встречу, которую вы хотите создать. Каждая встреча содержит информацию в семи столбцах, как показано ниже слева направо:
Тема. * Текст, описывающий мероприятие / встречу (например, «Напоминание о желтых страницах»)
Местоположение. * Текст, описывающий место проведения мероприятия, например конференц-зал или номер конференц-связи (это необязательно)
Дата / время начала. * Введите дату и время, когда событие должно начаться, используя стандартный формат даты Excel (вы можете отображать как угодно)
Продолжительность. Целое число, представляющее количество минут для статуса занятости встречи. Целое число, представляющее необязательное значение, указывающее, должно ли время отображаться как Свободно (0), Под вопросом (1), Занято (2) или Нет на рабочем месте (3)
Время напоминания. * Целое число, представляющее количество минут до встречи, когда должно появиться напоминание (например, 4320 — количество минут в 3 днях)
Тело. * Текст, описывающий любую деталь, которую вы можете разместить в теле встречи
Имея эти данные, вы можете использовать макрос для циклического перебора всех строк (начиная со второй строки, если первая строка имеет заголовки)
и создайте встречу для каждой строки.
Sub AddAppointments() ' Create the Outlook session Set myOutlook = CreateObject("Outlook.Application") ' Start at row 2 r = 2 Do Until Trim(Cells(r, 1).Value) = "" ' Create the AppointmentItem Set myApt = myOutlook.createitem(1) ' Set the appointment properties myApt.Subject = Cells(r, 1).Value myApt.Location = Cells(r, 2).Value myApt.Start = Cells(r, 3).Value myApt.Duration = Cells(r, 4).Value ' If Busy Status is not specified, default to 2 (Busy) If Trim(Cells(r, 5).Value) = "" Then 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).Value Else myApt.ReminderSet = False End If myApt.Body = Cells(r, 7).Value myApt.Save r = r + 1 Loop End Sub
Макрос продолжает цикл по строкам, пока столбец Тема не станет пустым.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (7349) применим к Microsoft Excel 97, 2000, 2002 и 2003.