View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default Late Binding question - newbie

Den,

Since you are using late binding, all Outlook objects should be
declared As Object. Change

Dim newmessage As MailItem
' to
Dim newmessage As Object


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Den" wrote in message
...
I am trying to send an email via VBA from with Excel.

But many people who will use this spreadsheet have various

versions of
Outlook. So I am trying to use late binding becuase settting a

reference to
outlook does not seem to work.

here is the basic code for sending the email

Private Sub SendPers(savetype As Integer)
Dim myOL As Outlook.Application
Dim newmessage As MailItem


Set myOL = CreateObject("Outlook.Application")
Set newmessage = myOL.CreateItem(olMailItem)

With newmessage
If savetype = 1 Then
.Body = "A new skills survey has been entered for " & myfname
Else
.Body = "A change has been made to the skills survey for "

& myfname
End If
.Subject = "Skills Inventory " & myfname
.To = "Jones, Mary;Jones, Chris"
.send
End With

End Sub

The problem is with the "newmessage" object. I apparently

don't have the
syntax or construct right for this because it stops on the "Set

newmessage
=...." statement.

Any suggestions?????

Dennis