Email weekly calendar summary

Status
Not open for further replies.

Ganesh

New Member
Outlook version
Outlook 2010 64 bit
Email Account
Exchange Server 2010
David Lee in Quora.com has written a VBScript on how to send email summary of Outlook calendar. With minor adjustment to the code I am able to make it read non-default calendars (so basically in Outlook 2010, under My Calendars section I have added one more calendar called 'Test Calendar' and I want the scrip to send email summary of the 'Test Calendar' rather than my default calendar called 'Calendar'). But now is if I add the lines to read the non default calendar i.e. 'Test Calendar' the date filter does not apply - it sends summary of whole calendar rather than 7 days. I have no experience in VB so I would very grateful if anyone could look at it and see what I need to change to make it work. If you are feeling awfully generous I would also like code added so it only sends email if it finds anything during the specified date range rather than just sending email with no events. The lines I have added to export 'Test Calendar' are in bold and the original line is commented out.

-----
Const olCalendarMailFormatDailySchedule = 1
Const olFreeBusyAndSubject = 1
Const olFullDetails = 2
Const olFolderCalendar = 9

SendAgenda "someone@someone.com", Date, DateAdd("d", 7, Date)

Sub SendAgenda(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 olkCalFolder = olkCal.Folders("Test Calendar")
Set olkExp = olkCalFolder.GetCalendarExporter


'Set olkExp = olkCal.GetCalendarExporter

With olkExp
.CalendarDetail = olFreeBusyAndSubject
.RestrictToWorkingHours = False
.StartDate = datBeg
.EndDate = datEnd
End With
'msgbox "Email Sent"
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
-----
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
i think its Set olkExp = olkCal.GetCalendarExporter -

The GetCalendarExporter method automatically sets the defaults for the CalendarSharing class to the standard default options used by the Folder object.

if i share calendar manually, the default for a secondary calendar is whole calendar, for the default calendar it's one day.

I don't know if there is a way to avoid it but will look into it tomorrow.
 

Ganesh

New Member
Outlook version
Outlook 2010 64 bit
Email Account
Exchange Server 2010
Thanks Diane.

At the moment if I let the script use default calendar the date range works but as soon as I add the line to specify 'Test Calendar' it just emails the whole calendar. When I say whole calendar I mean if I had one entry made in 1 May and another is made in 1 Sep, it'll send whole that period summary ignoring the date range today to 7 days in future.

Just copy and past this (for default calendar) and you'll see it works perfectly.

Const olCalendarMailFormatDailySchedule = 0
Const olFreeBusyAndSubject = 1
Const olFullDetails = 2
Const olFolderCalendar = 9

SendAgenda "someone@someone.com", Date, DateAdd("d", 1, Date)

Sub SendAgenda(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
'.IncludeAttachments = True
'.IncludePrivateDetails = True
.RestrictToWorkingHours = False
.StartDate = datBeg
.EndDate = datEnd
End With
'msgbox "Email summary sent"
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
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
Rupert Dragwater How to permanently remove an email address Using Outlook 9
K vba code to auto download email into a specific folder in local hard disk as and when any new email arrives in Inbox/subfolder Outlook VBA and Custom Forms 0
F Auto changing email subject line in bulk Using Outlook 2
F Want to add second email to Outlook for business use Using Outlook 3
kburrows Outlook Email Body Text Disappears/Overlaps, Folders Switch Around when You Hover, Excel Opens Randomly and Runs in the Background - Profile Corrupt? Using Outlook 0
J Outlook 365 Outlook Macro to Sort emails by column "Received" to view the latest email received Outlook VBA and Custom Forms 0
A Outlook 2019 Help with forwarding email without mentioning the previous email sender. Outlook VBA and Custom Forms 0
J Macro to send email as alias Outlook VBA and Custom Forms 0
M Shift Delete doesn't delete email from server Using Outlook 4
K Incorporate selection from combobox into body of email Outlook VBA and Custom Forms 0
L Why are some email automatically going to "archive" Using Outlook 2
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
B Outlook 2019 Custom Email form - Edit default email form Outlook VBA and Custom Forms 6
F Add a category before "Send an Email When You Add an Appointment to Your Calendar" Outlook VBA and Custom Forms 0
T Problem when requesting to view an email in a browser Using Outlook 0
J Outlook 365 Forward Email Subject to my inbox when new email arrive in shared inbox Using Outlook 0
HarvMan Archive Email Manually Using Outlook 1
L Fetch, edit and forward an email with VBA outlook Outlook VBA and Custom Forms 2
S New Email "From" box stopped working Using Outlook 0
Rupert Dragwater Duplicate email in Folder Using Outlook 8
M "Attachment Detacher for Outlook" add in, does it update the server copy of the email? Using Outlook 1
W Outlook 365 I am getting the "Either there is no default mail client" error when I try to send an email on excel Office 365 Using Outlook 1
MattC Changing the font of an email with VBA Outlook VBA and Custom Forms 1
L Specific Incoming Email Address Immediately Deleted Using Outlook 2
Witzker Outlook 2019 Macro to send an Email Template from User Defined Contact Form Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Edit contact from email does not open the user defined contactform Using Outlook 3
V Macro to mark email with a Category Outlook VBA and Custom Forms 4
R Roadrunner Email Settings | Contact Roadrunner Customer Support Outlook VBA and Custom Forms 1
D Gmail mail is being delivered to a different email inbox in Outlook App 2021 Using Outlook 2
Albert McCann Outlook 2021 Outlook Display of HTML Email from two senders is glitchy Using Outlook 0
A How Do I Setup My Optonline.Net Email Account? Outlook VBA and Custom Forms 1
H Preventing the 'email address fetch from Exchange' crashing email reading code Exchange Server Administration 0
D multiple email accounts - why do I have to choose the "from" account address?? Using Outlook 2
Wotme create email only data file Using Outlook 1
F Outlook 2016 Email with attachments not being received Using Outlook 3
J Outlook 2019 Regex email addresses from body Outlook VBA and Custom Forms 6
D Prompt to prefix subject line whenever sending an email Outlook VBA and Custom Forms 3
J Quick steps delete original email and move reply/sent email to folder Using Outlook 2
C Wishlist Extract or scan new email addresses from out of office replies. Leads from OOO replies Using Outlook 1
T External email warning banner Outlook VBA and Custom Forms 0
A Links in email getting error message about group policy Using Outlook 4
richardwing Auto forward email that is moves into a specific outlook folder Outlook VBA and Custom Forms 5
J Recommendations for Outlook Duplicate Email Remover Using Outlook 6
Geldner Tweak Junk Email Reporting tool to default to particular email on send? Using Outlook 3
S Outlook 365 Can I change the possible range of highlighting colours when writing an Outlook email? Using Outlook 1
V Can one change the formatting of email title blocks? Using Outlook 0
P default font when sending email from browser Using Outlook 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
B IMAP server rejects sent email - cannot deliver messages Using Outlook 2
TedSch Small vba to kill political email Outlook VBA and Custom Forms 3

Similar threads

Top