|
|
| Next: Worksheet tab font |
| Author |
Message |
guiness_joe External

Since: Aug 10, 2009 Posts: 1
|
Posted: Mon Aug 10, 2009 11:12 am Post subject: Tasks - convert email to task & attach email Archived from groups: microsoft>public>outlook>program_vba (more info?) |
|
|
Please find below code which converts email into a task, and pastes the email
text body into the task body and also pastes the email as attachment.
Problem:
1) the attached email is pasted at the end of the task body. I want it to be
pasted at the beginning of the task followed by the task body.
2) Can the task be automatically be saved into a personal folder?
3) Is there a way to autotype the categories list by typing the first few
letters?
4) Is there a way to auto fill calendar with the task items?
Public Sub AddCalendarEntry()
Const mailItem_c As String = "MailItem"
Dim OE As Outlook.Explorer ' olExp
Dim MI As Outlook.MailItem
Dim AI As Outlook.AppointmentItem
Dim TI As Outlook.TaskItem ' olTask
Dim olItem As Object
Set OE = Application.ActiveExplorer
'Abort sub if no item selected:
If OE.Selection.Count < 1 Then
MsgBox "Please select an already saved message before" & vbCrLf & _
"attempting to create an appointment or task" & vbCrLf & _
"with this button ...", vbInformation, "No message selected ..."
Exit Sub
'Abort sub if item selected is not a MailItem.
ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
MsgBox "You must select a mail item...", vbInformation, "Invalid
selection..."
Exit Sub
End If
Set MI = OE.Selection(1)
Beep
Select Case MsgBox("Is calendar entry an appointment?" & vbLf & _
"To Add Appointment (Yes) / To Add Task (No) / To Quit (Cancel)" & _
vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment or task
....")
Case vbYes 'If yes, create appointment
Set AI = Outlook.CreateItem(olAppointmentItem)
With AI
.Subject = MI.Subject
.Body = MI.Body
.Save
.Display
End With
Case vbNo
'If no, create task due with date of today
'and due date is tomorrow at 10:00 am
Set TI = Application.CreateItem(olTaskItem)
With TI
Dim cntSelection As Integer
cntSelection = OE.Selection.Count
For i = 1 To cntSelection
Set olItem = OE.Selection.Item(i)
TI.Attachments.Add olItem
Next
.Subject = MI.Subject
.Body = MI.Body
' .StartDate = Date
' .DueDate = Date + 1
' .ReminderTime = .DueDate & " 10:00"
.Save
.Display
End With
'Case vbCancel
' Exit Sub
End Select
End Sub |
|
| Back to top |
|
 |
Sue Mosher [MVP] External

Since: Mar 19, 2009 Posts: 41
|
Posted: Mon Aug 10, 2009 2:25 pm Post subject: Re: Tasks - convert email to task & attach email [Login to view extended thread Info.] Archived from groups: per prev. post (more info?) |
|
|
1) Outlook version?
2) Do you mean that you want to create a task in a folder other than your
default Tasks folder?
3) No.
4) Please explain what you mean by that.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
"guiness_joe" <guiness_joe DeleteThis @discussions.microsoft.com> wrote in message
news:11BE8E23-486D-424E-922A-545A4BA15AFF@microsoft.com...
> Please find below code which converts email into a task, and pastes the
> email
> text body into the task body and also pastes the email as attachment.
>
> Problem:
>
> 1) the attached email is pasted at the end of the task body. I want it to
> be
> pasted at the beginning of the task followed by the task body.
> 2) Can the task be automatically be saved into a personal folder?
> 3) Is there a way to autotype the categories list by typing the first few
> letters?
> 4) Is there a way to auto fill calendar with the task items?
>
> Public Sub AddCalendarEntry()
> Const mailItem_c As String = "MailItem"
> Dim OE As Outlook.Explorer ' olExp
> Dim MI As Outlook.MailItem
> Dim AI As Outlook.AppointmentItem
> Dim TI As Outlook.TaskItem ' olTask
> Dim olItem As Object
>
> Set OE = Application.ActiveExplorer
>
> 'Abort sub if no item selected:
> If OE.Selection.Count < 1 Then
> MsgBox "Please select an already saved message before" & vbCrLf & _
> "attempting to create an appointment or task" & vbCrLf & _
> "with this button ...", vbInformation, "No message selected ..."
> Exit Sub
> 'Abort sub if item selected is not a MailItem.
> ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
> MsgBox "You must select a mail item...", vbInformation, "Invalid
> selection..."
> Exit Sub
> End If
>
> Set MI = OE.Selection(1)
> Beep
> Select Case MsgBox("Is calendar entry an appointment?" & vbLf & _
> "To Add Appointment (Yes) / To Add Task (No) / To Quit (Cancel)" &
> _
> vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment or task
> ...")
> Case vbYes 'If yes, create appointment
> Set AI = Outlook.CreateItem(olAppointmentItem)
> With AI
> .Subject = MI.Subject
>
> .Body = MI.Body
> .Save
> .Display
> End With
> Case vbNo
> 'If no, create task due with date of today
> 'and due date is tomorrow at 10:00 am
>
> Set TI = Application.CreateItem(olTaskItem)
>
> With TI
>
> Dim cntSelection As Integer
> cntSelection = OE.Selection.Count
>
> For i = 1 To cntSelection
>
> Set olItem = OE.Selection.Item(i)
> TI.Attachments.Add olItem
>
> Next
>
> .Subject = MI.Subject
> .Body = MI.Body
> ' .StartDate = Date
> ' .DueDate = Date + 1
> ' .ReminderTime = .DueDate & " 10:00"
> .Save
> .Display
>
> End With
>
> 'Case vbCancel
> ' Exit Sub
> End Select
> End Sub |
|
| Back to top |
|
 |
guiness_joe External

Since: Aug 11, 2009 Posts: 2
|
Posted: Tue Aug 11, 2009 7:13 am Post subject: Re: Tasks - convert email to task & attach email [Login to view extended thread Info.] Archived from groups: per prev. post (more info?) |
|
|
"Sue Mosher [MVP]" wrote:
> 1) Outlook version? 2003
>
> 2) Do you mean that you want to create a task in a folder other than your
> default Tasks folder? Yes, the below task after being created saves into a Personal folder.
>
> 3) No.
>
> 4) Please explain what you mean by that.
Can appointments be made of the Incomplete Task items that exist in the task
folder?
>
> --
> Sue Mosher, Outlook MVP
> Author of Microsoft Outlook 2007 Programming:
> Jumpstart for Power Users and Administrators
> http://www.outlookcode.com/article.aspx?id=54
>
>
> "guiness_joe" <guiness_joe.TakeThisOut@discussions.microsoft.com> wrote in message
> news:11BE8E23-486D-424E-922A-545A4BA15AFF@microsoft.com...
> > Please find below code which converts email into a task, and pastes the
> > email
> > text body into the task body and also pastes the email as attachment.
> >
> > Problem:
> >
> > 1) the attached email is pasted at the end of the task body. I want it to
> > be
> > pasted at the beginning of the task followed by the task body.
> > 2) Can the task be automatically be saved into a personal folder?
> > 3) Is there a way to autotype the categories list by typing the first few
> > letters?
> > 4) Is there a way to auto fill calendar with the task items?
> >
> > Public Sub AddCalendarEntry()
> > Const mailItem_c As String = "MailItem"
> > Dim OE As Outlook.Explorer ' olExp
> > Dim MI As Outlook.MailItem
> > Dim AI As Outlook.AppointmentItem
> > Dim TI As Outlook.TaskItem ' olTask
> > Dim olItem As Object
> >
> > Set OE = Application.ActiveExplorer
> >
> > 'Abort sub if no item selected:
> > If OE.Selection.Count < 1 Then
> > MsgBox "Please select an already saved message before" & vbCrLf & _
> > "attempting to create an appointment or task" & vbCrLf & _
> > "with this button ...", vbInformation, "No message selected ..."
> > Exit Sub
> > 'Abort sub if item selected is not a MailItem.
> > ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
> > MsgBox "You must select a mail item...", vbInformation, "Invalid
> > selection..."
> > Exit Sub
> > End If
> >
> > Set MI = OE.Selection(1)
> > Beep
> > Select Case MsgBox("Is calendar entry an appointment?" & vbLf & _
> > "To Add Appointment (Yes) / To Add Task (No) / To Quit (Cancel)" &
> > _
> > vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment or task
> > ...")
> > Case vbYes 'If yes, create appointment
> > Set AI = Outlook.CreateItem(olAppointmentItem)
> > With AI
> > .Subject = MI.Subject
> >
> > .Body = MI.Body
> > .Save
> > .Display
> > End With
> > Case vbNo
> > 'If no, create task due with date of today
> > 'and due date is tomorrow at 10:00 am
> >
> > Set TI = Application.CreateItem(olTaskItem)
> >
> > With TI
> >
> > Dim cntSelection As Integer
> > cntSelection = OE.Selection.Count
> >
> > For i = 1 To cntSelection
> >
> > Set olItem = OE.Selection.Item(i)
> > TI.Attachments.Add olItem
> >
> > Next
> >
> > .Subject = MI.Subject
> > .Body = MI.Body
> > ' .StartDate = Date
> > ' .DueDate = Date + 1
> > ' .ReminderTime = .DueDate & " 10:00"
> > .Save
> > .Display
> >
> > End With
> >
> > 'Case vbCancel
> > ' Exit Sub
> > End Select
> > End Sub
>
>
> |
|
| Back to top |
|
 |
Sue Mosher [MVP] External

Since: Mar 19, 2009 Posts: 41
|
Posted: Tue Aug 11, 2009 10:21 am Post subject: Re: Tasks - convert email to task & attach email [Login to view extended thread Info.] Archived from groups: per prev. post (more info?) |
|
|
>> > 1) the attached email is pasted at the end of the task body. I want it
>> > to
>> > be
>> > pasted at the beginning of the task followed by the task body.
Since you're using Outlook 2003, you can handle this by using the third
parameter of the Attachments.Add method, which sets the position of the
attachment, e.g.:
TI.Attachments.Add olItem, olEmbeddeditem, 1
>> 2) Do you mean that you want to create a task in a folder other than your
>> default Tasks folder? Yes, the below task after being created saves into
>> a Personal folder.
"a Personal Folder" doesn't really answer the question, but let's assume you
wan to create a new item in a non-default folder. To do that, use the Add
method on the target folder's Items collection:
Set newItem = targetFolder.Items.Add("IPM.Task.YourFormName")
The message class parameter is optional.
To get a non-default folder, you need to walk the folder hierarchy using the
Folders collections or use a function that does that for you. For an
example, see:
http://www.outlookcode.com/codedetail.aspx?id=628 - uses a folder path
string
> Can appointments be made of the Incomplete Task items that exist in the
> task
> folder?
Yes, using the same technique that you're already using to create a task --
create the task then assign values to its properties.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
"guiness_joe" <guinessjoe DeleteThis @discussions.microsoft.com> wrote in message
news:81A9DE04-8FD9-4DE9-BEC1-B0DE643E338F@microsoft.com...
>
>
> "Sue Mosher [MVP]" wrote:
>
>> 1) Outlook version? 2003
>>
>> 2) Do you mean that you want to create a task in a folder other than your
>> default Tasks folder? Yes, the below task after being created saves into
>> a Personal folder.
>>
>> 3) No.
>>
>> 4) Please explain what you mean by that.
> Can appointments be made of the Incomplete Task items that exist in the
> task
> folder?
>>
>> "guiness_joe" <guiness_joe DeleteThis @discussions.microsoft.com> wrote in message
>> news:11BE8E23-486D-424E-922A-545A4BA15AFF@microsoft.com...
>> > Please find below code which converts email into a task, and pastes the
>> > email
>> > text body into the task body and also pastes the email as attachment.
>> >
>> > Problem:
>> >
>> > 1) the attached email is pasted at the end of the task body. I want it
>> > to
>> > be
>> > pasted at the beginning of the task followed by the task body.
>> > 2) Can the task be automatically be saved into a personal folder?
>> > 3) Is there a way to autotype the categories list by typing the first
>> > few
>> > letters?
>> > 4) Is there a way to auto fill calendar with the task items?
>> >
>> > Public Sub AddCalendarEntry()
>> > Const mailItem_c As String = "MailItem"
>> > Dim OE As Outlook.Explorer ' olExp
>> > Dim MI As Outlook.MailItem
>> > Dim AI As Outlook.AppointmentItem
>> > Dim TI As Outlook.TaskItem ' olTask
>> > Dim olItem As Object
>> >
>> > Set OE = Application.ActiveExplorer
>> >
>> > 'Abort sub if no item selected:
>> > If OE.Selection.Count < 1 Then
>> > MsgBox "Please select an already saved message before" & vbCrLf
>> > & _
>> > "attempting to create an appointment or task" & vbCrLf & _
>> > "with this button ...", vbInformation, "No message selected ..."
>> > Exit Sub
>> > 'Abort sub if item selected is not a MailItem.
>> > ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
>> > MsgBox "You must select a mail item...", vbInformation, "Invalid
>> > selection..."
>> > Exit Sub
>> > End If
>> >
>> > Set MI = OE.Selection(1)
>> > Beep
>> > Select Case MsgBox("Is calendar entry an appointment?" & vbLf & _
>> > "To Add Appointment (Yes) / To Add Task (No) / To Quit (Cancel)"
>> > &
>> > _
>> > vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment or
>> > task
>> > ...")
>> > Case vbYes 'If yes, create appointment
>> > Set AI = Outlook.CreateItem(olAppointmentItem)
>> > With AI
>> > .Subject = MI.Subject
>> >
>> > .Body = MI.Body
>> > .Save
>> > .Display
>> > End With
>> > Case vbNo
>> > 'If no, create task due with date of today
>> > 'and due date is tomorrow at 10:00 am
>> >
>> > Set TI = Application.CreateItem(olTaskItem)
>> >
>> > With TI
>> >
>> > Dim cntSelection As Integer
>> > cntSelection = OE.Selection.Count
>> >
>> > For i = 1 To cntSelection
>> >
>> > Set olItem = OE.Selection.Item(i)
>> > TI.Attachments.Add olItem
>> >
>> > Next
>> >
>> > .Subject = MI.Subject
>> > .Body = MI.Body
>> > ' .StartDate = Date
>> > ' .DueDate = Date + 1
>> > ' .ReminderTime = .DueDate & " 10:00"
>> > .Save
>> > .Display
>> >
>> > End With
>> >
>> > 'Case vbCancel
>> > ' Exit Sub
>> > End Select
>> > End Sub
>>
>>
>> |
|
| Back to top |
|
 |
guiness_joe External

Since: Aug 11, 2009 Posts: 2
|
Posted: Tue Aug 11, 2009 10:21 am Post subject: Re: Tasks - convert email to task & attach email [Login to view extended thread Info.] Archived from groups: per prev. post (more info?) |
|
|
Thank you Sue!
1) TI.Attachments.Add olItem, olEmbeddeditem, 1
It attached an embedded picture of the email but not the email itself.
2) Your are right I have a personal folder which has Calendar and Task
inside it, which I wish to use. The Folder name is 01 Handover/Calendars, and
calendar folder name is Calendar and Task folder name is Task
5) If I create a couple of task form / templates, can I do all the previous
mentioned steps, i.e. paste email and email body at the end of the task
template body text? Also I want to have several Task forms / templates and
want to use one that suits the task function.
"Sue Mosher [MVP]" wrote:
1) the attached email is pasted at the end of the task body. I want it
be pasted at the beginning of the task followed by the task body.
> Since you're using Outlook 2003, you can handle this by using the third
> parameter of the Attachments.Add method, which sets the position of the
> attachment, e.g.:
>
> TI.Attachments.Add olItem, olEmbeddeditem, 1
>
> >> 2) Do you mean that you want to create a task in a folder other than your
> >> default Tasks folder? Yes, the below task after being created saves into
> >> a Personal folder.
>
> "a Personal Folder" doesn't really answer the question, but let's assume you
> wan to create a new item in a non-default folder. To do that, use the Add
> method on the target folder's Items collection:
>
> Set newItem = targetFolder.Items.Add("IPM.Task.YourFormName")
>
> The message class parameter is optional.
>
> To get a non-default folder, you need to walk the folder hierarchy using the
> Folders collections or use a function that does that for you. For an
> example, see:
>
> http://www.outlookcode.com/codedetail.aspx?id=628 - uses a folder path
> string
>
> > Can appointments be made of the Incomplete Task items that exist in the
> > task
> > folder?
>
> Yes, using the same technique that you're already using to create a task --
> create the task then assign values to its properties.
>
> --
> Sue Mosher, Outlook MVP
> Author of Microsoft Outlook 2007 Programming:
> Jumpstart for Power Users and Administrators
> http://www.outlookcode.com/article.aspx?id=54
>
>
> "guiness_joe" <guinessjoe.DeleteThis@discussions.microsoft.com> wrote in message
> news:81A9DE04-8FD9-4DE9-BEC1-B0DE643E338F@microsoft.com...
> >
> >
> > "Sue Mosher [MVP]" wrote:
> >
> >> 1) Outlook version? 2003
> >>
> >> 2) Do you mean that you want to create a task in a folder other than your
> >> default Tasks folder? Yes, the below task after being created saves into
> >> a Personal folder.
> >>
> >> 3) No.
> >>
> >> 4) Please explain what you mean by that.
> > Can appointments be made of the Incomplete Task items that exist in the
> > task
> > folder?
> >>
> >> "guiness_joe" <guiness_joe.DeleteThis@discussions.microsoft.com> wrote in message
> >> news:11BE8E23-486D-424E-922A-545A4BA15AFF@microsoft.com...
> >> > Please find below code which converts email into a task, and pastes the
> >> > email
> >> > text body into the task body and also pastes the email as attachment.
> >> >
> >> > Problem:
> >> >
> >> > 1) the attached email is pasted at the end of the task body. I want it
> >> > to
> >> > be
> >> > pasted at the beginning of the task followed by the task body.
> >> > 2) Can the task be automatically be saved into a personal folder?
> >> > 3) Is there a way to autotype the categories list by typing the first
> >> > few
> >> > letters?
> >> > 4) Is there a way to auto fill calendar with the task items?
> >> >
> >> > Public Sub AddCalendarEntry()
> >> > Const mailItem_c As String = "MailItem"
> >> > Dim OE As Outlook.Explorer ' olExp
> >> > Dim MI As Outlook.MailItem
> >> > Dim AI As Outlook.AppointmentItem
> >> > Dim TI As Outlook.TaskItem ' olTask
> >> > Dim olItem As Object
> >> >
> >> > Set OE = Application.ActiveExplorer
> >> >
> >> > 'Abort sub if no item selected:
> >> > If OE.Selection.Count < 1 Then
> >> > MsgBox "Please select an already saved message before" & vbCrLf
> >> > & _
> >> > "attempting to create an appointment or task" & vbCrLf & _
> >> > "with this button ...", vbInformation, "No message selected ..."
> >> > Exit Sub
> >> > 'Abort sub if item selected is not a MailItem.
> >> > ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
> >> > MsgBox "You must select a mail item...", vbInformation, "Invalid
> >> > selection..."
> >> > Exit Sub
> >> > End If
> >> >
> >> > Set MI = OE.Selection(1)
> >> > Beep
> >> > Select Case MsgBox("Is calendar entry an appointment?" & vbLf & _
> >> > "To Add Appointment (Yes) / To Add Task (No) / To Quit (Cancel)"
> >> > &
> >> > _
> >> > vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment or
> >> > task
> >> > ...")
> >> > Case vbYes 'If yes, create appointment
> >> > Set AI = Outlook.CreateItem(olAppointmentItem)
> >> > With AI
> >> > .Subject = MI.Subject
> >> >
> >> > .Body = MI.Body
> >> > .Save
> >> > .Display
> >> > End With
> >> > Case vbNo
> >> > 'If no, create task due with date of today
> >> > 'and due date is tomorrow at 10:00 am
> >> >
> >> > Set TI = Application.CreateItem(olTaskItem)
> >> >
> >> > With TI
> >> >
> >> > Dim cntSelection As Integer
> >> > cntSelection = OE.Selection.Count
> >> >
> >> > For i = 1 To cntSelection
> >> >
> >> > Set olItem = OE.Selection.Item(i)
> >> > TI.Attachments.Add olItem
> >> >
> >> > Next
> >> >
> >> > .Subject = MI.Subject
> >> > .Body = MI.Body
> >> > ' .StartDate = Date
> >> > ' .DueDate = Date + 1
> >> > ' .ReminderTime = .DueDate & " 10:00"
> >> > .Save
> >> > .Display
> >> >
> >> > End With
> >> >
> >> > 'Case vbCancel
> >> > ' Exit Sub
> >> > End Select
> >> > End Sub
> >>
> >>
> >>
>
>
> |
|
| Back to top |
|
 |
Sue Mosher [MVP] External

Since: Mar 19, 2009 Posts: 41
|
Posted: Tue Aug 11, 2009 11:19 am Post subject: Re: Tasks - convert email to task & attach email [Login to view extended thread Info.] Archived from groups: per prev. post (more info?) |
|
|
1) This is a task you're attaching to? Tasks don't handle embedded items
well, for reasons that have never been satisfactorily explained, IMO.
2) Then you need to follow the instructions I gave for using the Items.Add
method. You will not, however, be able to use the GetFolder() function,
because it assumes that there are no slashes in the folder name. Instead,
you'll need to start at the top of the folder hierarchy and walk down, using
the Folders collection of each MAPIFolder. If you need help with that, you
will need to give us the complete and exact path to the folder(s), starting
at the top of the hierarchy.
5) If you want to do all the same procedures in a custom form, then invoke
the custom form using the message class parameter in the Items.Add method.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
"guiness_joe" <guinessjoe.RemoveThis@discussions.microsoft.com> wrote in message
news:AAC3AE07-59C1-4A01-9CD0-B825016F07FE@microsoft.com...
> Thank you Sue!
>
> 1) TI.Attachments.Add olItem, olEmbeddeditem, 1
> It attached an embedded picture of the email but not the email itself.
>
> 2) Your are right I have a personal folder which has Calendar and Task
> inside it, which I wish to use. The Folder name is 01 Handover/Calendars,
> and
> calendar folder name is Calendar and Task folder name is Task
>
> 5) If I create a couple of task form / templates, can I do all the
> previous
> mentioned steps, i.e. paste email and email body at the end of the task
> template body text? Also I want to have several Task forms / templates and
> want to use one that suits the task function.
>
> "Sue Mosher [MVP]" wrote:
>
> 1) the attached email is pasted at the end of the task body. I want it
> be pasted at the beginning of the task followed by the task body.
>
>> Since you're using Outlook 2003, you can handle this by using the third
>> parameter of the Attachments.Add method, which sets the position of the
>> attachment, e.g.:
>>
>> TI.Attachments.Add olItem, olEmbeddeditem, 1
>>
>> >> 2) Do you mean that you want to create a task in a folder other than
>> >> your
>> >> default Tasks folder? Yes, the below task after being created saves
>> >> into
>> >> a Personal folder.
>>
>> "a Personal Folder" doesn't really answer the question, but let's assume
>> you
>> wan to create a new item in a non-default folder. To do that, use the Add
>> method on the target folder's Items collection:
>>
>> Set newItem = targetFolder.Items.Add("IPM.Task.YourFormName")
>>
>> The message class parameter is optional.
>>
>> To get a non-default folder, you need to walk the folder hierarchy using
>> the
>> Folders collections or use a function that does that for you. For an
>> example, see:
>>
>> http://www.outlookcode.com/codedetail.aspx?id=628 - uses a folder
>> path
>> string
>>
>> > Can appointments be made of the Incomplete Task items that exist in the
>> > task
>> > folder?
>>
>> Yes, using the same technique that you're already using to create a
>> task --
>> create the task then assign values to its properties.
>>
>> "guiness_joe" <guinessjoe.RemoveThis@discussions.microsoft.com> wrote in message
>> news:81A9DE04-8FD9-4DE9-BEC1-B0DE643E338F@microsoft.com...
>> >
>> >
>> > "Sue Mosher [MVP]" wrote:
>> >
>> >> 1) Outlook version? 2003
>> >>
>> >> 2) Do you mean that you want to create a task in a folder other than
>> >> your
>> >> default Tasks folder? Yes, the below task after being created saves
>> >> into
>> >> a Personal folder.
>> >>
>> >> 3) No.
>> >>
>> >> 4) Please explain what you mean by that.
>> > Can appointments be made of the Incomplete Task items that exist in the
>> > task
>> > folder?
>> >>
>> >> "guiness_joe" <guiness_joe.RemoveThis@discussions.microsoft.com> wrote in message
>> >> news:11BE8E23-486D-424E-922A-545A4BA15AFF@microsoft.com...
>> >> > Please find below code which converts email into a task, and pastes
>> >> > the
>> >> > email
>> >> > text body into the task body and also pastes the email as
>> >> > attachment.
>> >> >
>> >> > Problem:
>> >> >
>> >> > 1) the attached email is pasted at the end of the task body. I want
>> >> > it
>> >> > to
>> >> > be
>> >> > pasted at the beginning of the task followed by the task body.
>> >> > 2) Can the task be automatically be saved into a personal folder?
>> >> > 3) Is there a way to autotype the categories list by typing the
>> >> > first
>> >> > few
>> >> > letters?
>> >> > 4) Is there a way to auto fill calendar with the task items?
>> >> >
>> >> > Public Sub AddCalendarEntry()
>> >> > Const mailItem_c As String = "MailItem"
>> >> > Dim OE As Outlook.Explorer ' olExp
>> >> > Dim MI As Outlook.MailItem
>> >> > Dim AI As Outlook.AppointmentItem
>> >> > Dim TI As Outlook.TaskItem ' olTask
>> >> > Dim olItem As Object
>> >> >
>> >> > Set OE = Application.ActiveExplorer
>> >> >
>> >> > 'Abort sub if no item selected:
>> >> > If OE.Selection.Count < 1 Then
>> >> > MsgBox "Please select an already saved message before" &
>> >> > vbCrLf
>> >> > & _
>> >> > "attempting to create an appointment or task" & vbCrLf & _
>> >> > "with this button ...", vbInformation, "No message selected
>> >> > ..."
>> >> > Exit Sub
>> >> > 'Abort sub if item selected is not a MailItem.
>> >> > ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
>> >> > MsgBox "You must select a mail item...", vbInformation,
>> >> > "Invalid
>> >> > selection..."
>> >> > Exit Sub
>> >> > End If
>> >> >
>> >> > Set MI = OE.Selection(1)
>> >> > Beep
>> >> > Select Case MsgBox("Is calendar entry an appointment?" & vbLf & _
>> >> > "To Add Appointment (Yes) / To Add Task (No) / To Quit
>> >> > (Cancel)"
>> >> > &
>> >> > _
>> >> > vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment or
>> >> > task
>> >> > ...")
>> >> > Case vbYes 'If yes, create appointment
>> >> > Set AI = Outlook.CreateItem(olAppointmentItem)
>> >> > With AI
>> >> > .Subject = MI.Subject
>> >> >
>> >> > .Body = MI.Body
>> >> > .Save
>> >> > .Display
>> >> > End With
>> >> > Case vbNo
>> >> > 'If no, create task due with date of today
>> >> > 'and due date is tomorrow at 10:00 am
>> >> >
>> >> > Set TI = Application.CreateItem(olTaskItem)
>> >> >
>> >> > With TI
>> >> >
>> >> > Dim cntSelection As Integer
>> >> > cntSelection = OE.Selection.Count
>> >> >
>> >> > For i = 1 To cntSelection
>> >> >
>> >> > Set olItem = OE.Selection.Item(i)
>> >> > TI.Attachments.Add olItem
>> >> >
>> >> > Next
>> >> >
>> >> > .Subject = MI.Subject
>> >> > .Body = MI.Body
>> >> > ' .StartDate = Date
>> >> > ' .DueDate = Date + 1
>> >> > ' .ReminderTime = .DueDate & " 10:00"
>> >> > .Save
>> >> > .Display
>> >> >
>> >> > End With
>> >> >
>> >> > 'Case vbCancel
>> >> > ' Exit Sub
>> >> > End Select
>> >> > End Sub |
|
| Back to top |
|
 |
Sue Mosher [MVP] External

Since: Mar 19, 2009 Posts: 41
|
Posted: Tue Aug 11, 2009 11:41 am Post subject: Re: Tasks - convert email to task & attach email [Login to view extended thread Info.] Archived from groups: per prev. post (more info?) |
|
|
An alternative to attaching an item to a task is try using a link instead.
Or prefix the item body with the other item's EntryID in the format shown at
http://www.slipstick.com/outlook/links.htm.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
"Sue Mosher [MVP]" <suemvp.RemoveThis@turtleflock.com> wrote in message
news:eTOjdcpGKHA.1492@TK2MSFTNGP03.phx.gbl...
> 1) This is a task you're attaching to? Tasks don't handle embedded items
> well, for reasons that have never been satisfactorily explained, IMO.
>
> 2) Then you need to follow the instructions I gave for using the Items.Add
> method. You will not, however, be able to use the GetFolder() function,
> because it assumes that there are no slashes in the folder name. Instead,
> you'll need to start at the top of the folder hierarchy and walk down,
> using the Folders collection of each MAPIFolder. If you need help with
> that, you will need to give us the complete and exact path to the
> folder(s), starting at the top of the hierarchy.
>
> 5) If you want to do all the same procedures in a custom form, then invoke
> the custom form using the message class parameter in the Items.Add method.
>
> --
> Sue Mosher, Outlook MVP
> Author of Microsoft Outlook 2007 Programming:
> Jumpstart for Power Users and Administrators
> http://www.outlookcode.com/article.aspx?id=54
>
>
> "guiness_joe" <guinessjoe.RemoveThis@discussions.microsoft.com> wrote in message
> news:AAC3AE07-59C1-4A01-9CD0-B825016F07FE@microsoft.com...
>> Thank you Sue!
>>
>> 1) TI.Attachments.Add olItem, olEmbeddeditem, 1
>> It attached an embedded picture of the email but not the email itself.
>>
>> 2) Your are right I have a personal folder which has Calendar and Task
>> inside it, which I wish to use. The Folder name is 01 Handover/Calendars,
>> and
>> calendar folder name is Calendar and Task folder name is Task
>>
>> 5) If I create a couple of task form / templates, can I do all the
>> previous
>> mentioned steps, i.e. paste email and email body at the end of the task
>> template body text? Also I want to have several Task forms / templates
>> and
>> want to use one that suits the task function.
>>
>> "Sue Mosher [MVP]" wrote:
>>
>> 1) the attached email is pasted at the end of the task body. I want it
>> be pasted at the beginning of the task followed by the task body.
>>
>>> Since you're using Outlook 2003, you can handle this by using the third
>>> parameter of the Attachments.Add method, which sets the position of the
>>> attachment, e.g.:
>>>
>>> TI.Attachments.Add olItem, olEmbeddeditem, 1
>>>
>>> >> 2) Do you mean that you want to create a task in a folder other than
>>> >> your
>>> >> default Tasks folder? Yes, the below task after being created saves
>>> >> into
>>> >> a Personal folder.
>>>
>>> "a Personal Folder" doesn't really answer the question, but let's assume
>>> you
>>> wan to create a new item in a non-default folder. To do that, use the
>>> Add
>>> method on the target folder's Items collection:
>>>
>>> Set newItem = targetFolder.Items.Add("IPM.Task.YourFormName")
>>>
>>> The message class parameter is optional.
>>>
>>> To get a non-default folder, you need to walk the folder hierarchy using
>>> the
>>> Folders collections or use a function that does that for you. For an
>>> example, see:
>>>
>>> http://www.outlookcode.com/codedetail.aspx?id=628 - uses a folder
>>> path
>>> string
>>>
>>> > Can appointments be made of the Incomplete Task items that exist in
>>> > the
>>> > task
>>> > folder?
>>>
>>> Yes, using the same technique that you're already using to create a
>>> task --
>>> create the task then assign values to its properties.
>>>
>>> "guiness_joe" <guinessjoe.RemoveThis@discussions.microsoft.com> wrote in message
>>> news:81A9DE04-8FD9-4DE9-BEC1-B0DE643E338F@microsoft.com...
>>> >
>>> >
>>> > "Sue Mosher [MVP]" wrote:
>>> >
>>> >> 1) Outlook version? 2003
>>> >>
>>> >> 2) Do you mean that you want to create a task in a folder other than
>>> >> your
>>> >> default Tasks folder? Yes, the below task after being created saves
>>> >> into
>>> >> a Personal folder.
>>> >>
>>> >> 3) No.
>>> >>
>>> >> 4) Please explain what you mean by that.
>>> > Can appointments be made of the Incomplete Task items that exist in
>>> > the
>>> > task
>>> > folder?
>>> >>
>>> >> "guiness_joe" <guiness_joe.RemoveThis@discussions.microsoft.com> wrote in
>>> >> message
>>> >> news:11BE8E23-486D-424E-922A-545A4BA15AFF@microsoft.com...
>>> >> > Please find below code which converts email into a task, and pastes
>>> >> > the
>>> >> > email
>>> >> > text body into the task body and also pastes the email as
>>> >> > attachment.
>>> >> >
>>> >> > Problem:
>>> >> >
>>> >> > 1) the attached email is pasted at the end of the task body. I want
>>> >> > it
>>> >> > to
>>> >> > be
>>> >> > pasted at the beginning of the task followed by the task body.
>>> >> > 2) Can the task be automatically be saved into a personal folder?
>>> >> > 3) Is there a way to autotype the categories list by typing the
>>> >> > first
>>> >> > few
>>> >> > letters?
>>> >> > 4) Is there a way to auto fill calendar with the task items?
>>> >> >
>>> >> > Public Sub AddCalendarEntry()
>>> >> > Const mailItem_c As String = "MailItem"
>>> >> > Dim OE As Outlook.Explorer ' olExp
>>> >> > Dim MI As Outlook.MailItem
>>> >> > Dim AI As Outlook.AppointmentItem
>>> >> > Dim TI As Outlook.TaskItem ' olTask
>>> >> > Dim olItem As Object
>>> >> >
>>> >> > Set OE = Application.ActiveExplorer
>>> >> >
>>> >> > 'Abort sub if no item selected:
>>> >> > If OE.Selection.Count < 1 Then
>>> >> > MsgBox "Please select an already saved message before" &
>>> >> > vbCrLf
>>> >> > & _
>>> >> > "attempting to create an appointment or task" & vbCrLf & _
>>> >> > "with this button ...", vbInformation, "No message selected
>>> >> > ..."
>>> >> > Exit Sub
>>> >> > 'Abort sub if item selected is not a MailItem.
>>> >> > ElseIf TypeName(OE.Selection(1)) <> mailItem_c Then
>>> >> > MsgBox "You must select a mail item...", vbInformation,
>>> >> > "Invalid
>>> >> > selection..."
>>> >> > Exit Sub
>>> >> > End If
>>> >> >
>>> >> > Set MI = OE.Selection(1)
>>> >> > Beep
>>> >> > Select Case MsgBox("Is calendar entry an appointment?" & vbLf &
>>> >> > _
>>> >> > "To Add Appointment (Yes) / To Add Task (No) / To Quit
>>> >> > (Cancel)"
>>> >> > &
>>> >> > _
>>> >> > vbCrLf, vbYesNoCancel + vbQuestion, "Create an appointment
>>> >> > or
>>> >> > task
>>> >> > ...")
>>> >> > Case vbYes 'If yes, create appointment
>>> >> > Set AI = Outlook.CreateItem(olAppointmentItem)
>>> >> > With AI
>>> >> > .Subject = MI.Subject
>>> >> >
>>> >> > .Body = MI.Body
>>> >> > .Save
>>> >> > .Display
>>> >> > End With
>>> >> > Case vbNo
>>> >> > 'If no, create task due with date of today
>>> >> > 'and due date is tomorrow at 10:00 am
>>> >> >
>>> >> > Set TI = Application.CreateItem(olTaskItem)
>>> >> >
>>> >> > With TI
>>> >> >
>>> >> > Dim cntSelection As Integer
>>> >> > cntSelection = OE.Selection.Count
>>> >> >
>>> >> > For i = 1 To cntSelection
>>> >> >
>>> >> > Set olItem = OE.Selection.Item(i)
>>> >> > TI.Attachments.Add olItem
>>> >> >
>>> >> > Next
>>> >> >
>>> >> > .Subject = MI.Subject
>>> >> > .Body = MI.Body
>>> >> > ' .StartDate = Date
>>> >> > ' .DueDate = Date + 1
>>> >> > ' .ReminderTime = .DueDate & " 10:00"
>>> >> > .Save
>>> >> > .Display
>>> >> >
>>> >> > End With
>>> >> >
>>> >> > 'Case vbCancel
>>> >> > ' Exit Sub
>>> >> > End Select
>>> >> > End Sub
>
> |
|
| Back to top |
|
 |
|
|
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
| |
|
|