Senkeys

15 réponses
Avatar
Brat'ac
Bonjour,

Je cherche comment faire pour en VBA envoyer la combinaison de touche
"CTRL + ENTER" et "ALT + F" avec Application.Sendkeys

Merci

10 réponses

1 2
Avatar
Brat'ac
Brat'ac avait écrit le 04/02/2012 :
Bonjour,

Je cherche comment faire pour en VBA envoyer la combinaison de touche "CTRL +
ENTER" et "ALT + F" avec Application.Sendkeys

Merci



En fait ce n'est pas exactement cela que je recherche

J'ouvre le client de messagerie et je cherche à simuler les touches
dans celui-ci
Avatar
Gloops
Brat'ac a écrit, le 04/02/2012 12:19 :
Brat'ac avait écrit le 04/02/2012 :
Bonjour,



Je cherche comment faire pour en VBA envoyer la combinaison de touche
"CTRL + ENTER" et "ALT + F" avec Application.Sendkeys



Merci



En fait ce n'est pas exactement cela que je recherche

J'ouvre le client de messagerie et je cherche à simuler les touches d ans
celui-ci





Il vaut mieux commencer par dire pour quelle action vouloir les simuler,
et ne se rabattre sur SendKeys qu'en cas d'échec.
Avatar
Brat'ac
Dans son message précédent, Gloops a écrit :

Il vaut mieux commencer par dire pour quelle action vouloir les simuler, et
ne se rabattre sur SendKeys qu'en cas d'échec.



J'explique

le bout de code suivant ouvre et prépare un message avec Thunderbird

---------------------------------------------
Sub Mail()
Dim destinataire, sujet, Mes, fichierjoint As String
destinataire = ""
sujet = "Le sujet"
body = "Bonjour"
fichierjoint = "C:monfichier.txt"
strcommand = "C:Program FilesMozilla Thunderbirdthunderbird"
strcommand = strcommand & " -compose " & "to='" & destinataire & "'"
strcommand = strcommand & "," & "subject=" & sujet & ","
strcommand = strcommand & "body=" & body & Mes
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint
Call Shell(strcommand, vbNormalFocus)
End Sub
------------------------------------------------------------------
A ce niveau le message est pret et attend que l'on clique sur envoyer

et pour cela il faut que j'envoie "CTRL + ENTREE" ET 3X "ENTREE" pour
que le message parte.
Avatar
Gloops
Brat'ac a écrit, le 04/02/2012 20:57 :
Dans son message précédent, Gloops a écrit :

Il vaut mieux commencer par dire pour quelle action vouloir les
simuler, et ne se rabattre sur SendKeys qu'en cas d'échec.



J'explique

le bout de code suivant ouvre et prépare un message avec Thunderbird

---------------------------------------------
Sub Mail()
Dim destinataire, sujet, Mes, fichierjoint As String
destinataire = ""
sujet = "Le sujet"
body = "Bonjour"
fichierjoint = "C:monfichier.txt"
strcommand = "C:Program FilesMozilla Thunderbirdthunderbird"
strcommand = strcommand & " -compose " & "to='" & destinataire & "' "
strcommand = strcommand & "," & "subject=" & sujet & ","
strcommand = strcommand & "body=" & body & Mes
strcommand = strcommand & "," & "attachment=file:///" & fichierjoin t
Call Shell(strcommand, vbNormalFocus)
End Sub
------------------------------------------------------------------
A ce niveau le message est pret et attend que l'on clique sur envoyer

et pour cela il faut que j'envoie "CTRL + ENTREE" ET 3X "ENTREE" pour
que le message parte.





Pour l'envoi d'un mail il existe plusieurs formules qui fonctionnent
sans avoir à simuler de touches. J'ai vu passer CDO, Outlook, Lotus
Notes. Je dois avouer que je n'ai pas eu la curiosité d'essayer avec
Thunderbird, que pourtant j'utilise couramment avec l'interface
utilisateur. Il va falloir plonger dans la doc.

A toutes fins utiles, il y a un forum spécialisé sur Thunderbird là :
http://www.geckozone.org/forum/viewforum.php?f=4

La bonne adresse à donner ne serait pas vraiment celle-là, mais plutô t
celle du site qui donne les références pour les développeurs, mais
j'avoue qu'à brûle-pourpoint, j'ai un trou.
Une recherche sur le forum devrait aider pour trouver l'adresse.
Une fois le bon site trouvé, si il y a une doc sur Automation c'est
l'idéal, à défaut DDE. Si c'est la première fois que tu pratiques ça il
y aura un temps d'adaptation, c'est sûr. Mais c'est rentable en matiè re
d'efficacité du résultat.


Sinon comme la fenêtre est sélectionnée, ce que tu dis devrait marc her
comme ça :
SendKeys "^~~~~", true

Sous réserve que l'application accepte que les touches arrivent toutes
ensemble, que le tampon de clavier ne soit pas vidé en route.

Mais attention, encore une fois, c'est toujours largement moins fiable
que de chercher la bonne commande. Notamment, si jamais une raison ou
une autre venait à sélectionner une autre fenêtre juste à ce mome nt-là,
les simulations de touche partiraient vers une autre fenêtre, et le
résultat serait totalement différent.
Avatar
isabelle
salut Brat'ac,


il y a un bon exemple ici :
http://www.excel-downloads.com/forum/143276-vba-et-thunderbird.html

il y a aussi cdo qui est une bonne alternative : http://www.rondebruin.nl/cdo.htm


--
isabelle




Le 2012-02-04 14:57, Brat'ac a écrit :
Dans son message précédent, Gloops a écrit :

Il vaut mieux commencer par dire pour quelle action vouloir les simuler, et ne se rabattre sur SendKeys qu'en cas d'échec.



J'explique

le bout de code suivant ouvre et prépare un message avec Thunderbird

---------------------------------------------
Sub Mail()
Dim destinataire, sujet, Mes, fichierjoint As String
destinataire = ""
sujet = "Le sujet"
body = "Bonjour"
fichierjoint = "C:monfichier.txt"
strcommand = "C:Program FilesMozilla Thunderbirdthunderbird"
strcommand = strcommand & " -compose " & "to='" & destinataire & "'"
strcommand = strcommand & "," & "subject=" & sujet & ","
strcommand = strcommand & "body=" & body & Mes
strcommand = strcommand & "," & "attachment=file:///" & fichierjoint
Call Shell(strcommand, vbNormalFocus)
End Sub
------------------------------------------------------------------
A ce niveau le message est pret et attend que l'on clique sur envoyer

et pour cela il faut que j'envoie "CTRL + ENTREE" ET 3X "ENTREE" pour que le message parte.


Avatar
Brat'ac
isabelle a exprimé avec précision :
salut Brat'ac,


il y a un bon exemple ici :
http://www.excel-downloads.com/forum/143276-vba-et-thunderbird.html

il y a aussi cdo qui est une bonne alternative :
http://www.rondebruin.nl/cdo.htm


--
isabelle




Bonjour,

voila ce que j'ai fais à partir des exemples
--------------------------------------------------------------
Sub Mail_Essai()
Dim iMsg As Object
Dim iConf As Object
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1
Set flds = iConf.Fields
With flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") =
"smtp.free.fr"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") =
"mon_compte"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") =
"mon_pass"
.Update
End With
Set iMsg = CreateObject("CDO.Message")
With iMsg
Set .Configuration = iConf
.To = ""
.From = ""
.Subject = "Essai"
.TextBody = "Bonjour"
.Send
End With
Set iMsg = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
-----------------------------------------------------------------------

j'ai aussi fais des essais avec le code du site
www.rondebruin.nl/cdo.htm et
http://excel.developpez.com/faq/?page=Messagerie#PlageCellulesMail et
j'ai invariablement l'erreur suivante.
-----------------------------------------------------------------------
Erreur d'exécution '-2147220975(800402111)'
Le message n'a pas pu être envoyé vers le serveur SMTP. Le code
d'erreur de transport était 0x800ccc15. La réponse du serveur était not
available.
-----------------------------------------------------------------------
Bref je galère dur dur >:|

PS: j'ai bien coché "Microsoft CDO ......" dans Outils/Références
Avatar
isabelle
j'ai testé la macro sur mon poste et tout va bien
essaie avec le serveur SMTP de ton FAI et non pas celui de free.
http://www.commentcamarche.net/forum/affich-1528153-prob-connexion-serveur-sortant-smtp-free


--
isabelle



Le 2012-02-05 05:50, Brat'ac a écrit :

j'ai aussi fais des essais avec le code du site www.rondebruin.nl/cdo.htm et



http://excel.developpez.com/faq/?page=Messagerie#PlageCellulesMail et j'ai invariablement l'erreur suivante.
-----------------------------------------------------------------------
Erreur d'exécution '-2147220975(800402111)'
Le message n'a pas pu être envoyé vers le serveur SMTP. Le code d'erreur de transport était 0x800ccc15.



La réponse du serveur était not available.
-----------------------------------------------------------------------
Bref je galère dur dur >:|

PS: j'ai bien coché "Microsoft CDO ......" dans Outils/Références


Avatar
Brat'ac
isabelle a formulé ce dimanche :
j'ai testé la macro sur mon poste et tout va bien
essaie avec le serveur SMTP de ton FAI et non pas celui de free.
http://www.commentcamarche.net/forum/affich-1528153-prob-connexion-serveur-sortant-smtp-free



Ben .... le problème est que Free EST mon FAI :-[

Port 25 ou 587 c'es idem
Avatar
Brat'ac
Brat'ac a présenté l'énoncé suivant :
isabelle a formulé ce dimanche :
j'ai testé la macro sur mon poste et tout va bien
essaie avec le serveur SMTP de ton FAI et non pas celui de free.
http://www.commentcamarche.net/forum/affich-1528153-prob-connexion-serveur-sortant-smtp-free



Ben .... le problème est que Free EST mon FAI :-[

Port 25 ou 587 c'es idem



j'ai même essayé avec celui de la Poste et c'est pareil
Avatar
isabelle
as-tu un gmail ?

--
isabelle


Le 2012-02-05 10:12, Brat'ac a écrit :
Brat'ac a présenté l'énoncé suivant :
isabelle a formulé ce dimanche :
j'ai testé la macro sur mon poste et tout va bien
essaie avec le serveur SMTP de ton FAI et non pas celui de free.
http://www.commentcamarche.net/forum/affich-1528153-prob-connexion-serveur-sortant-smtp-free





Ben .... le problème est que Free EST mon FAI :-[



Port 25 ou 587 c'es idem



j'ai même essayé avec celui de la Poste et c'est pareil


1 2