As this appears to relate to an invoice, what format is the invoice in? It might be possible to simply read the name and number from the invoice and attach the invoice to the message.
If that is possible then that would make more sense than prompting for the name and number. However you can use input boxes (as below) or a userfrorm http://www.gmayor.com/Userform.htm to prompt for the data:
Sub InvoiceMessage()
Dim olEmail As Outlook.MailItem
Dim olInsp As Outlook.Inspector
Dim wdDoc As Object
Dim oRng As Object
Dim strName As String
Dim strInvoice As String
Dim strText As String
strName = InputBox("Enter Name:")
strInvoice = InputBox("Invoice Number:")
strText = "Dear " & strName & vbCr & vbCr & _
"Please find attached invoice number " & _
strInvoice & Chr(46) & vbCr
On Error Resume Next
Set olEmail = CreateItem(olMailItem)
With olEmail
.BodyFormat = olFormatHTML
.subject = "Invoice Number " & strInvoice
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range(0, 0)
oRng.Text = strText
oRng.collapse 0
.Display
End With
lbl_Exit:
Set olEmail = Nothing
Set olInsp = Nothing
Set wdDoc = Nothing
Set oRng = Nothing
Exit Sub
End Sub