Solved

Delete Outlook Calendar Appointments

Posted on 2016-09-15
2
58 Views
Last Modified: 2016-10-29
I am trying to delete all my Outlook Calendar Appointments within a specific date range. But I don't want to delete any appointments that are set to a recurrence since they could be in the future. I found this code online and it works good except that it will delete the recurrence appointments too. Can anyone help me modify this to NOT include recurrence appointments? My VBA skills are terrible and even worse with Outlook.

Private Function DeleteAppts()
'Declarations
Dim strCurrent As String
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objFolder As Outlook.MAPIFolder
Dim objItems As Outlook.Items
Dim objItem As Object
Dim strStart As String
Dim strEnd As String
Dim strFilter As String
'put required start and end dates into strStart and strEnd respectively
'if they are constants then just set them before this
'I created textboxes for users to input the dates themselves
 
strStart = "09/15/2016 07:00 AM"
strEnd = "09/15/2016 16:00 PM"
'create a string to use to filter the outlook items
strFilter = "[Start] >= " & Quote(strStart) & " And [Start] < " & Quote(strEnd)
 
'set the outlook objects and specify the items in the calendar using the filter
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderCalendar)
Set objItems = objFolder.Items.Restrict(strFilter)
Set objItem = objItems.GetFirst
 
intCount = objItems.Count
For i = intCount To 1 Step -1
    Set objItem = objItems(i)
    objItem.Delete
Next

'clears out outlook objects from memory
Set objApp = Nothing
Set objNS = Nothing
Set objFolder = Nothing
Set objItems = Nothing
Set objItem = Nothing
MsgBox "Items Deleted!"
 
End Function

Function Quote(MyText) As String

    Quote = Chr(34) & MyText & Chr(34)

End Function

Open in new window

0
Comment
Question by:Lawrence Salvucci
2 Comments
 
LVL 2

Accepted Solution

by:
kapsionu earned 500 total points
ID: 41823385
Is this some kind of global issue or just personal need? Make it simple, create list view of calendar items with needed fields, sort it, select needed date range, delete, done. Sometimes overthinking is bad for simple tasks. If this is some kind of global need - I would be careful playing with this script.
0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Outlook 2010 public folders 1 32
Outlook creates tmp files 2 45
Distribution List Owner Permissions Lost 2 20
How to restrict users sending out emails to all 1 22
Sometimes Outlook might have problems sending a message. There may be various causes- corrupted PST, AV scanner etc. The message, instead of going to the Sent Items folder, sits in the Outbox indefinitely. To remove it you can use a free tool cal…
Are you unable to connect or configure Hotmail email account in Microsoft Outlook 2010, 2007? Or Outlook.com emails are not downloading to Outlook? Lets’ see the problem and resolve Outlook Connector error syncing folder hierarchy (0x8004102A).
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…
CodeTwo Sync for iCloud (http://www.codetwo.com/sync-for-icloud?sts=6554) automatically synchronizes your Outlook 2016, 2013, 2010 or 2007 folders with iCloud folders available via iCloud Control Panel. This lets you automatically sync them with…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question