export to outlook task list...

B

bramnizzle

I'm creating a journaling utility for my coworkers. I need a macro
that takes the contents of a cell and exports as a new task in
Outlook. Specifically...

....a subject is entered into A1 (Deliver plans to consultant)
....a due date is entered into B1 (6/20/2007)
....a macro takes the contents of A1 and B1 and creates a Task in
Outlook so that when Outlook Task list is brought up, the task is
there.

I know just about anything is possible with Excel VBA. Can anyone
help me?
 
S

Steve Yandl

I'm making the assumption that your list continues down columns A and B for
a set of tasks rather than just looking at row 1.

_____________________________________

Sub LoadTasks()

Const olFolderTasks = 13

Dim r As Integer
Dim x As Integer

r = Range("A65536").End(xlUp).Row

Set ol = CreateObject("Outlook.Application")
Set ns = ol.GetNamespace("MAPI")
Set olFolder = ns.GetDefaultFolder(olFolderTasks)

For x = 1 To r
Set taskItem = olFolder.Items.Add
With taskItem
.Subject = Sheets("Sheet1").Cells(x, 1).Value
.DueDate = Sheets("Sheet1").Cells(x, 2).Value
.Save
End With
Next x

Set taskItem = Nothing
Set ns = Nothing
Set ol = Nothing

End Sub

______________________________________

Steve Yandl
 
B

bramnizzle

I'm making the assumption that your list continues down columns A and B for
a set of tasks rather than just looking at row 1.

_____________________________________

Sub LoadTasks()

Const olFolderTasks = 13

Dim r As Integer
Dim x As Integer

r = Range("A65536").End(xlUp).Row

Set ol = CreateObject("Outlook.Application")
Set ns = ol.GetNamespace("MAPI")
Set olFolder = ns.GetDefaultFolder(olFolderTasks)

For x = 1 To r
Set taskItem = olFolder.Items.Add
With taskItem
.Subject = Sheets("Sheet1").Cells(x, 1).Value
.DueDate = Sheets("Sheet1").Cells(x, 2).Value
.Save
End With
Next x

Set taskItem = Nothing
Set ns = Nothing
Set ol = Nothing

End Sub

______________________________________

I got a "Assignment to Constant not permitted" error for *Set olFolder
= ns.GetDefaultFolder(olFolderTasks)* What does that mean?
 
B

bramnizzle

Can anyone help with this? I tried the "Option Explicit" with this
and using the code suggested in this thread, I set the ol, ns, and
olFolder As Object and set TaskItem as a Variant. I'm still getting
errors.
 
S

Steve Yandl

Try deleting the line
Const olFolderTasks = 13
and then changing the line
Set olFolder = ns.GetDefaultFolder(olFolderTasks)
to read
Set olFolder = ns.GetDefaultFolder(13)

It worked fine when I tested it. An alternate approach would be to set a
reference to Outlook under 'Tools > References' and alter the way the
Outlook objects are created.

Steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top