View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Outlook Automation, Deleting Tasks

Why not post this in an Outlook newsgroup rather than an Excel news group.
There doesn't seem to be anything here that has to do with Excel.

--
Regards,
Tom Ogilvy

jjjustinnn wrote in message
...
Using the only working example I can find to search and delete OlItems

based on a criteria, I have been able to successfully search out and delete
OlCalendarItems, but not olTaskItems.
I can't understand why it works for one type of item in the model and not

another. Any ideas?
Here is an example of my code: The part after the doubleline doesn't

'search and destroy'
Are there any code errors? I am a beginner.
[/startcode]
Dim olTsk As Outlook.TaskItem
Dim olAppt As Outlook.AppointmentItem
Dim ol As New Outlook.Application
Dim delfol As Outlook.MAPIFolder
Dim ns As Outlook.NameSpace
Dim yyny As VbMsgBoxResult
Dim fdAppts As MAPIFolder
Dim fdTasks As MAPIFolder
Dim itmsAppointments As Outlook.Items
Dim ItmsTasks As Outlook.Items
Dim itm As Object
Dim olApp As Outlook.Application
Dim olNs As Object
Dim Newdddate As String
Dim newstart As Object
Dim OutlookApp As Object
Const olAppointmentItem = 1
Const olTaskItem = 3

Set ns = OutlookApp.GetNamespace("MAPI")
'Reference the default Contacts folder and then
'return the Items collection of the folder.
Set fdAppts = ns.GetDefaultFolder(olFolderCalendar)
Set itmsAppointments = fdAppts.Items
'Establish the criteria and locate the Appt.
criteria = "[Subject] = Due Today " & UserForm2.TextBox10.Value & "

For " & UserForm2.TextBox5.Value
Set itm = itmsAppointments.Find(criteria)
'Determine if the item was found.
If itm Is Nothing Then
yyny = msgbox("Unable to locate the Outlook Calendar item.

Continue and create new Item?", vbYesNo)
If yyny = vbNo Then GoTo End1
GoTo cont
End If
'Delete the Appointment.
Application.ScreenUpdating = False
Set delfol = ns.GetDefaultFolder(olFolderDeletedItems)
On Error GoTo cont
While TypeName(itm) < "Nothing"
itm.Move delfol
Wend
Application.ScreenUpdating = True
'================================================= ====
cont:
Set fdTasks = ns.GetDefaultFolder(olFolderTasks)
Set ItmsTasks = fdTasks.Items ' not working
criteria = "[Subject] = "subject to be deleted"
itmm = ItmsTasks.Find(criteria) '???
''Determine if the Task was found.
If itmm = "Nothing" Then
yyny = msgbox("Unable to locate the Task. Continue and create new

Task?", vbYesNo)
If yyny = vbNo Then GoTo End1
GoTo cont11
End If
'Delete the Task
Set delfol = ns.GetDefaultFolder(olFolderDeletedItems)
Application.ScreenUpdating = False
While TypeName(itmm) < "Nothing"
itmm.Move delfol
Wend
[/endcode]
Thanks for any help, I'm very close to completing my first app.
:-j.