ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   SendKeys problem (https://www.excelbanter.com/excel-programming/354089-sendkeys-problem.html)

Gordon Rainsford[_3_]

SendKeys problem
 
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").Col umns("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

--
Gordon Rainsford

London UK

RB Smissaert

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

RBS

"Gordon Rainsford" wrote in message
news:1hb6qbn.4yh2ee135hg5dN%grbridgeREMOVETHIS@bti nternet.com...
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").Col umns("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

--
Gordon Rainsford

London UK



Gordon Rainsford[_3_]

SendKeys problem
 
RB Smissaert wrote:

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.


--
Gordon Rainsford

London UK

RB Smissaert

SendKeys problem
 
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


"Gordon Rainsford" wrote in message
news:1hb6sei.1aq5xgp9oryufN%grbridgeREMOVETHIS@bti nternet.com...
RB Smissaert wrote:

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.


--
Gordon Rainsford

London UK



Ron de Bruin

SendKeys problem
 
Hi Gordon

SendKeys is not always reliable
Do you use Outlook or Outlook Express ?

I like CDO for this
http://www.rondebruin.nl/cdo.htm

See
http://www.rondebruin.nl/cdo.htm#message



--
Regards Ron de Bruin
http://www.rondebruin.nl


"Gordon Rainsford" wrote in message
news:1hb6qbn.4yh2ee135hg5dN%grbridgeREMOVETHIS@bti nternet.com...
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").Col umns("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

--
Gordon Rainsford

London UK




Gordon Rainsford[_3_]

SendKeys problem
 
Ron de Bruin wrote:

Hi Gordon

SendKeys is not always reliable
Do you use Outlook or Outlook Express ?


Outlook Express

I like CDO for this
http://www.rondebruin.nl/cdo.htm

See
http://www.rondebruin.nl/cdo.htm#message


That solved it - thanks Ron.


--
Gordon Rainsford

London UK


All times are GMT +1. The time now is 01:50 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com