SendKeys problem

G

Gordon Rainsford

I have the following code, based on that at Ron de Bruin's site, which
creates emails exactly as required, except that the SendKeys line does
nothing. I've tried some variations of syntax, and it doesn't give an
errormessage, but it just doesn't send. Does anyone have a suggestion as
to what I'm doing wrong, or an alternative way of getting Outlook
Express to send?

Sub SendEmail()
DatabaseOpen
Set template = Workbooks("sendEmail.xls").Sheets("Sheet1")
For Each Cell In
Workbooks("ycDatabase.xls").Sheets("Database").Columns("M").Cells.Specia
lCells(xlCellTypeConstants)
If Cell.Value Like "*@*" Then
Recipient = Cell.Value
Subj = template.Range("c3").Value
msg = "Dear " & Cell.Offset(0, -10).Value & "%0A"
msg = msg & "%0A" & template.Range("c5").Value
HLink = "mailto:" & Recipient & "?"
HLink = HLink & "subject=" & Subj & "&"
HLink = HLink & "body=" & msg
ActiveWorkbook.FollowHyperlink (HLink)
Application.Wait (Now + TimeValue("0:00:02"))
Application.SendKeys "%S", True
End If
Next
End Sub
 
R

RB Smissaert

Does Outlook Express have the focus?
Maybe press the button with the API.
I think that would be the PostMessage API.

RBS
 
G

Gordon Rainsford

RB Smissaert said:
Does Outlook Express have the focus?
Maybe press the button with the API.
I think that would be the PostMessage API.

Could you explain a bit more?

Thanks.
 
R

RB Smissaert

First one is easy:
When you do your SendKeys does Outlook Express have the focus, that is does
it take keyboard input?

Second isn't that easy if you are not familiar with the API.
You will need the window handle of that button and then send the message to
it.
Maybe have a go or ask in this newsgroup: microsoft.public.vb.winapi

Another option is use Outlook and not Outlook Express as Outlook can be
automated with VBA.

RBS
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top