Deleting Tasks using Late Binding

ehorde

Registered User.
Local time
Today, 06:26
Joined
May 21, 2009
Messages
21
I am having to change my code to late binding (:(just when I had early binding all figured out) due to issues with different versions of Outlook. I am stuck on a piece that deletes tasks.

Here is what i am working with..

------------------------------------
Dim strFilter As String
Dim objOutlook As Object
Dim objTask As Object
Dim objFolder As Object
Dim colItems As Items
Dim objTasks As String
Dim objNamespace As Namespace


Const olFolderTasks = 13

Set objOutlook = CreateObject("Outlook.Application")
Set objTask = objApp.CreateItem(3)

Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(olFolderTasks)
Set colItems = objFolder.Items

strFilter = "[Subject] = '" & "Task Name" & "'"
Set colTasks = colItems.Restrict(strFilter)
For Each objTask In colTasks
objTask.Delete
----------------------------------------------

I get hung up at: "Dim colItems As Items"

I am a "Google the solution" programmer, so any help is very, very welcome.

- Eric
 
OK, I now have this, but still no go..

-------------------------------------
Dim strFilter As String
Dim objOutlook As Object
Dim objTask As Object
Dim objNamespace As Object
Dim objFolder As Object
Dim colItems As Object
Dim objTasks As String

Set objOutlook = CreateObject("Outlook.Application")
Set objTask = objApp.CreateItem(3)

Const olFolderTasks = 13

Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objFolder = objNamespace.GetDefaultFolder(olFolderTasks)

Set colItems = objFolder.Items

strFilter = "[Subject] = '" & "Subject of task being deleted" & "'"
Set colTasks = colItems.Restrict(strFilter)
For Each objTask In colTasks
objTask.Delete
Next
 
Here is the early binding code that is working...

Code:
        Dim strFilter As String
                             
        Dim objOutlook As New Outlook.Application
        Dim objNamespace As Namespace
        Dim objFolder As Object
        Dim colItems As Items
        Dim objTasks As String
        
        Const olFolderTasks = 13

        Set objTask = objOutlook.CreateItem(olTaskItem)
        Set objOutlook = CreateObject("Outlook.Application")
        Set objNamespace = objOutlook.GetNamespace("MAPI")
        Set objFolder = objNamespace.GetDefaultFolder(olFolderTasks)

        Set colItems = objFolder.Items
          
         strFilter = "[Subject] = '" & "Subject Im Searching For." & "'"
         Set colTasks = colItems.Restrict(strFilter)
                 For Each objTask In colTasks
                objTask.Delete
         Next

This is what I am trying to convert to Late Binding. If any one can throw me a line here, I really appreciate it. This is holding up my project from moving forward. :o
 
Finally got it working with the help of someone very patient on another board.. Thank you freakazoid!

Here is the code to delete Outlook Tasks by searching the Subject Line using Late Binding.

Code:
        Dim strFilter As String
        
        Dim objOutlook As Object
        Dim objNamespace As Object
        Dim objFolder As Object
        Dim objTask As Object
        Dim colItems As Object
        Dim colTasks As Object
        
        Set objOutlook = CreateObject("Outlook.Application")
        Set objNamespace = objOutlook.GetNamespace("MAPI")
        Set objFolder = objNamespace.GetDefaultFolder(13)
        Set objTask = objOutlook.CreateItem(3)
        Set colItems = objFolder.Items
        
         strFilter = "[Subject] = '" & "First Subject Text Searching For." & "'"
                 
         MsgBox "Set colTasksstrFilter line next", vbOKOnly, "strFilter line next"
         Set colTasks = colItems.Restrict(strFilter)
         If colTasks Is Nothing Then MsgBox "colTasks not set"
                 For Each objTask In colTasks
                 objTask.Delete
         Next

         strFilter = "[Subject] = '" & "Second Subject Text Searching For." & "'"
         Set colTasks = colItems.Restrict(strFilter)
                 For Each objTask In colTasks
                objTask.Delete
         Next
 

Users who are viewing this thread

Back
Top Bottom