méthode Sendmail sans alerte de sécurité

tom6821

XLDnaute Nouveau
Bonjour,

je souhaite envoyer le classeur actif par email, en pièce-jointe.
J'ai trouvé la solution de la méthode SendMail

Code:
ActiveWorkbook.SendMail "monnom@monemail.com","message test", false
Néanmoins outlook lance une alerte de sécurité et il faut autoriser manuellement l'envoi de l'email. Savez-vous comment désactiver cette alerte ?

Deuxième question : est-il possible à partir de VBA de tester si outlook est ouvert, et si il ne l'est pas de le lancer au préalable (l'email n'est pas envoyé si outlook n'est pas ouvert).

Merci d'avance pour votre aide, bien cordialement
 

Staple1600

XLDnaute Barbatruc
Re : méthode Sendmail sans alerte de sécurité

Bonjour


Essayes la méthode CDO (qui te permet de ne pas utiliser Outlook et ne pas voir de message d'alerte)
Cherches dans les archives du forum pour plus de détails
ou va sur le site de Ron De Bruin

EDITION: Pour savoir si outlook est ouvert
Code:
Sub testOL()
Dim olApp As Object
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error GoTo 0
MsgBox "Outlook" & IIf(Not olApp Is Nothing, " est ", " n'est pas ") & "ouvert.", vbCritical, "TEST OUTLOOK"
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : méthode Sendmail sans alerte de sécurité

Re

La même macro que précédemment mais transformée en fonction pour l'utiliser dans une macro
Code:
Function OUTLOOKOUVERT() As Boolean
Dim olApp As Object
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
On Error GoTo 0
OUTLOOKOUVERT = IIf(Not olApp Is Nothing, True, False)
End Function
Code:
Sub test()
If OUTLOOKOUVERT Then
'ton code si outloook ouvert
MsgBox "ouvert"
Else
'ton code pour ouvrir Outlook
MsgBox "pas ouvert"
End If
End Sub
 

tom6821

XLDnaute Nouveau
Re : méthode Sendmail sans alerte de sécurité

Merci Staple 1600, Merci MJ13,

j'ai lu la méthode CDO de Ron de Bruin, je l'ai mise en place pour mon fichier, ça fonctionnait assez bien excepté lorsque j'utilise la méthode
VB:
 .AddAttachment "c:/test.xls"
sur l'objet Msg pour envoyer le fichier en question.

Le message d'erreur m'indique que le fichier ne peut être envoyé car il est utilisé par un autre programme (probleme de read-only) ce qui est assez gênant : pouvez-vous m'aider ?

Merci d'avance, bonne soirée :)
 

Staple1600

XLDnaute Barbatruc
Re : méthode Sendmail sans alerte de sécurité

Bonsoir


Il faut fermer le fichier que tu veux envoyer
Et si le code VB est dans ce fichier, il faut alors créer une copie temporaire du fichier (avec WorkBook.SaveAS)
et c'est cette copie qu'il faut envoyer par mail.
 

Discussions similaires


Haut Bas