У меня есть скрипт, найденный на https://www.crestwood.com/2018/08/17/automating-outlook-calendar-to-send-daily-agenda/. Это работает, но я не могу контролировать детали календаря.Или, вернее, я не могу понять, как отправить Тема и место встречи .
Есть ли способ с этим кодом?Или я мог бы пойти по-другому?Когда это делается вручную в Outlook, это называется «Ограниченные данные» - это мой желаемый результат.
Я могу изменить константу: olFreeBusyAndSubject между 0, 1, 2. Но ни один из них не возвращает желаемый результат.Они приводят к (только видение занято / свободно, только видение предмета, полная информация, включая описание события).Мне не нужны полные сведения, поскольку они могут быть конфиденциальной информацией, которую я не хочу указывать на своем дополнительном электронном письме.
' -------------------------------------------------
' Modify this \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Const myEmailAddress = "some@email.com"
Const includePrivateDetails = TRUE
Const howManyDaysToDisplay = 1
' Modify this /////////////////////////////////////
' -------------------------------------------------
Const olCalendarMailFormatDailySchedule = 0
Const olFreeBusyAndSubject = 2
' Const olFullDetails = 1
Const olFolderCalendar = 9
SendCalendar myEmailAddress, Date, (Date + (howManyDaysToDisplay - 1))
Sub SendCalendar(strAdr, datBeg, datEnd)
Dim olkApp, olkSes, olkCal, olkExp, olkMsg
Set olkApp = CreateObject("Outlook.Application")
Set olkSes = OlkApp.GetNameSpace("MAPI")
olkSes.Logon olkApp.DefaultProfileName
Set olkCal = olkSes.GetDefaultFolder(olFolderCalendar)
Set olkExp = olkCal.GetCalendarExporter
With olkExp
.CalendarDetail = olFreeBusyAndSubject
.IncludePrivateDetails = includePrivateDetails
.RestrictToWorkingHours = False
.StartDate = datBeg
.EndDate = datEnd
End With
Set olkMsg = olkExp.ForwardAsICal(olCalendarMailFormatDailySchedule)
With olkMsg
.To = strAdr
.Send
End With
Set olkCal = Nothing
Set olkExp = Nothing
Set olkMsg = Nothing
olkSes.Logoff
Set olkSes = Nothing
Set olkApp = Nothing
End Sub
Как описано, желаемый результат заключается в использовании VBA-сценария (или другого автоматизированного способа)отправить "Ограниченные детали" -Outlook-календарь по электронной почте.
Спасибо заранее!