Question: Below is my macro to send an email but it does not open a new email . 

This macro is in the outlook rules. 

Have you any ideas? 

```
  Sub sendemail()

  Dim ns As NameSpace
 'Dim newMail As Outlook.MailItem

Set ns = GetNamespace("MAPI")
 Dim newMail As MailItem
Set newMail = Application.CreateItem()

With newMail
  .To = "aaa@bbb" <--adress to whitch I want to send an email
  .Subject = "test"
  .Display
 End With
Set newMail = Nothing

  End Sub

```

Answer: 
first you need to add up the outlook reference:

[![enter image description here](https://i.stack.imgur.com/nrNI0.png)](https://i.stack.imgur.com/nrNI0.png)

There you go:

then:

```
Sub sendemail()

  Dim outlook As New outlook.Application
 Dim newMail As outlook.MailItem

    Set newMail = outlook.CreateItem(olMailItem)

    With newMail
      .To = "email@address.com" ' <--adress to whitch I want to send an email
      .Subject = "test from Steph"
      .Display
      .Send
     End With
    Set newMail = Nothing
    outlook.Quit
    Set outlook = Nothing

  End Sub

```
Youre not specifying the item to create. See here:

```
Private Sub SendEmail(ByVal workcenter As Integer, ByVal time As Date)
    Dim objApp As Object
    Dim objEmail As Object
    Set objApp = CreateObject("Outlook.Application")
    Set objEmail = CreateObject("Outlook.MailItem")
    With objEmail
        .To = "emailexampe@website.com"
        .Subject = "Multiple Shop Orders run for line " & workcenter & " at " & time
        .body = "TEST"
        .display
    End With
    Set objEmail = Nothing
    Set objApp = Nothing

End Sub

```

Source: <http://www.vbforums.com/showthread.php?536558-RESOLVED-Outlook-late-binding>

this version also uses late binding, so you dont need any additional references.