Hi and Welcome to VBAX!

Put this code in classModule: ThisOutlookSession:[VBA]
Option Explicit 'Only one in every code module on top!
Private Sub Application_Startup()
AddMyButton
End Sub
[/VBA]

Insert a new Module and put this in there:[VBA]
Option Explicit 'Only one in every code module on top!

Sub AddMyButton()
Dim oBar As Office.CommandBar
Dim oButton As Office.CommandBarButton
Set oBar = Application.ActiveExplorer.CommandBars("Standard")
Set oButton = oBar.Controls.Add(Type:=msoControlButton, Before:=7, Temporary:=True)
With oButton
.Caption = "Create Task"
.FaceId = 1086
.Style = msoButtonIconAndCaption
.OnAction = "MakeTaskFromMail"
End With
Set oButton = Nothing
Set oBar = Nothing
End Sub
Private Sub MakeTaskFromMail()
Dim MyMail As Outlook.MailItem
Dim objTask As Outlook.TaskItem
For Each MyMail In Application.ActiveExplorer.Selection
Set objTask = Application.CreateItem(olTaskItem)

With objTask
.Subject = MyMail.Subject
.DueDate = MyMail.SentOn
.Body = MyMail.Body
End With

If MyMail.Attachments.Count > 0 Then
Call CopyAttachments(MyMail, objTask)
End If

objTask.Save
Set objTask = Nothing
Next

End Sub

Private Sub CopyAttachments(objSourceItem, objTargetItem)
Dim fso As Object, fldTemp As Object
Dim strPath As String, strFile As String
Dim objAtt As Outlook.Attachment
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldTemp = fso.GetSpecialFolder(2) ' TemporaryFolder
strPath = fldTemp.Path & "\"

For Each objAtt In objSourceItem.Attachments
strFile = strPath & objAtt.FileName
objAtt.SaveAsFile strFile
objTargetItem.Attachments.Add strFile, , , objAtt.DisplayName
fso.DeleteFile strFile
Next

Set fldTemp = Nothing
Set fso = Nothing
End Sub
[/VBA]

Save your project and close Outlook
Restart it and you will see the new button.

Select a message(s) and click the button to execute.

Enjoy!