2016-05-04 9 views
0

Я работаю над проектом, где мне нужно каким-то образом получить доступ к содержимому таблицы, встроенной в Outlook, запрограммировать. Если бы это было в электронном письме, я бы имел дело с объектом класса «MailItem», и я мог бы вызвать HTMLBody и использовать теги «table» для получения содержимого. Однако, насколько мне известно, аналогичных функций для объектов «AppointmentItem» не существует. Я знаю, что есть функция RTFBody для MailItems, но я совершенно не понимаю, как получить содержимое таблицы с помощью RTF, и Google не очень помогает на этом фронте. Для моих целей таблица в приглашении Outlook может быть либо встроенным объектом Excel Worksheet, либо просто таблицей, которую вы можете вставить, выбрав Insert | Таблица.Как запрограммировать доступ к содержимому таблицы в Outlook Назначение

Моя конечная цель - получить содержимое таблиц, встроенных в общий календарь команд, и отправить их на рабочий лист Excel, где я создал панель мониторинга, которую проводит моя команда. Содержимое таблиц, встроенных в приглашения Outlook в календаре команды, имеет точки данных, которые я бы хотел динамически отображать на панели управления.

Любая помощь была бы очень признательна - спасибо!

+0

Разве это не тот же самый вопрос, как спросил раньше: http://stackoverflow.com/questions/37014913/htmlbody-workaround-for-olappointment-object? Кроме того, кажется, что есть другое, использующее ту же самую проблему здесь (сейчас): http://stackoverflow.com/questions/37025009/vba-outlook-appointment#comment61615861_37025009 Может быть, вы можете работать вместе? – Ralph

+0

Непонятно, что означает «доступ» в вашем вопросе. (1) Получаете ли вы встречи, содержащие тела RTF, которые вы хотите извлечь и обработать? (2) У вас есть таблица в Excel, которую вы хотите распространять как часть 'AppointmentItem'? Если (2), почему бы не распространять книгу Excel как вложение? –

+0

Спасибо за ваши ответы. Тони - «доступ» Я просто хочу получить значения, хранящиеся в соответствующих ячейках таблицы. – Michael

ответ

0

Вы можете попробовать это?

Private Sub Add_Appointments_To_Outlook_Calendar() 

    'Include Microsoft Outlook nn.nn Object Library from Tools -> References 
    Dim oAppt As AppointmentItem 
    Dim Remind_Time As Double 

    i = 2 
    Subj = ThisWorkbook.Sheets(1).Cells(i, 1) 

    'Loop through entire list of Reminders to be added 
    While Subj <> "" 
     Set oAppt = Outlook.Application.CreateItem(olAppointmentItem) 

     oAppt.Subject = Subj 
     oAppt.Location = ThisWorkbook.Sheets(1).Cells(i, 2) 
     oAppt.Start = ThisWorkbook.Sheets(1).Cells(i, 3) 
     Remind_Time = ThisWorkbook.Sheets(1).Cells(i, 4) * 1 * 60 
     oAppt.ReminderMinutesBeforeStart = Remind_Time 
     oAppt.AllDayEvent = True 
     oAppt.Save 

     i = i + 1 
     Subj = ThisWorkbook.Sheets(1).Cells(i, 1) 
    Wend 
    MsgBox "Reminder(s) Added To Outlook Calendar" 

End Sub 

' The code comes from this link: 

http://officetricks.com/add-appointment-to-outlook-calendar-through-excel-macro-vba/

Я на самом деле написал книгу об этом, и так много других вещей. Вы можете найти его по ссылке ниже.

https://www.amazon.com/Automating-Business-Processes-Reducing-Increasing-ebook/dp/B01DJJKVZC?ie=UTF8&keywords=ryan%20shuell&qid=1463837322&ref_=sr_1_1&sr=8-1

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