Envoyer un mail avec Outlook par Excel
Bonjour à tous,
J'ai écrit ce code :
J'envoie le mail non pas par .send mais en utilisant les sendkeys (pour éviter le message de confirmation ;))
Ca fonctionne bien dans le cas où Outlook est déjà lancé...
Par contre dans le cas où Outlook n'est pas lancé... le sendkey se fait trop rapidement et l'email n'est pas envoyé... Comment faire pour demander de faire le sendkeys qu'une fois que Outlook est bien lancé (sans utiliser de timer) ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| Sub Envoi_Mail()
Dim eMail As Object
Set eMail = CreateObject("Outlook.Application").CreateItem(olMailItem)
With eMail
.to = "moi@domaine.fr"
.Subject = "Test mail auto"
.Body = "Mail automatique"
.Display
'.Send 'je n'utilise pas cette fonction car message de confirmation apparaît
End With
SendKeys "^{ENTER}" 'Envoi du mail par les touches Ctrl + Enter
Set eMail = Nothing 'Réinit
End Sub
Sub Ouvrir_Outlook()
'Lance Outlook en mode Hide : La fenêtre est masquée et activée
Shell "OUTLOOK.EXE", vbHide
End Sub
Sub Test_Outlook_Run()
'Permet de tester si Outlook est lancé ou pas
Dim OL As Object
On Error Resume Next
Set OL = GetObject(, "Outlook.Application")
'Cas si outlook n'est pas lancé
If OL Is Nothing Then
Ouvrir_Outlook
Envoi_Mail
'Cas si outlook est lancé
Else
Envoi_Mail
End If
End Sub |
Merci
A+
Dams'