Display alerts pour outlook

V

vb_phil

Guest
Bonjour le forum,

Cette question est pour les experts de outlook.

J'ai écrit une procédure sur vba dans excel pour envoyer des e-mails,
je sais que pour empêcher excel d'intervenir lorsqu'une procédure sur vba est exécuter, il suffit d'écrire :

application.displayalerts = false

je me demandais si il avais une fonction semblable à celle-ci pour empêcher outlook d'intervenir lors de l'envoit d'un e-mail.

ce problème est lier à l'envoit de e-mail par vba dans excel.

la fonction sendmail fonctionne correctement sauf que l'utilisateur doit donné son accord avant l'envoit du e-mail et c'est ce que je n'aime pas.
je voudrais qu'il l'envoit automatique sans l'accord de l'utilisateur.

je ne sais pas si mon explication est assez clair.

j'attends de vos nouvelles

Merci à tous

vb_phil
 
Z

Zon

Guest
Salut,

C'est dû à un renforcement de la sécurité d'oulook.
Recherches dans l'aide VBA Outlook sur senditem, à priori il faut passser par un module de classe sur Outlook. Tu as un exemple .

Sinon j'ai trouvé cet Article microsoft

A+++
 
V

vb_phil

Guest
Merci ZON,

Je vais essayer quelques une des solutions proposées dans l'article.

Si je ne réussis pas je continuerais ce fil et si je trouve, j'écrirai la solution à mon problème, pour fin d'aide.

vb_phil
 
V

vb_phil

Guest
Bonjour à tous,

Je n'ai pas réussis à trouver le code pour empècher le message d'alerte de out look:

"un autre programme tente d'envoyer un message ......"

L'algorite que je me sers pour obliger l'utilisateur à envoyer le message est le suivant:

si l'opérateur dit non à l'envoit du message ceci crée une erreur et avec la fontion on error goto "mon_erreur" placé en début de programme. Je recall le sub d'envoit. cette tactique oblige l'opérateur à dire oui sinon il tourne en rond et le programme repart sans arrèt.

Sub send_email()
Dim ol As Object
Dim MailSendItem As Object
Set ol = CreateObject("Outlook.application")
Set MailSendItem = ol.CreateItem(olMailItem)
Dim olns As Object
Dim objFolder As Object
Set olns = ol.Getnamespace("MAPI")

On Error GoTo mon_erreur:

With MailSendItem
.Subject = "bla bla bla"
.Body = "bli bli bli"
.to = "bla@tblabla.com"
.Cc = "bli@blibli.com"
.Send
End With

Set ol = Nothing
Set MailSendItem = Nothing
Set olns = Nothing

Exit Sub
mon_erreur:
Call send_email()

End Sub

Si quelqu'un à de meilleur solution me prévenir
Merci

vb_phil
 
M

michel

Guest
bonsoir Vb_Phil , bonsoir Zon

il me semble qu'une solution est proposée dans le lien donné par Zon
ci dessous une petite adaptation à tester :

Sub EvoiMailSansMessageConfirmation()
'testé avec XP
Dim iMsg As Object, iConf As Object
'Dim iBP As Object

Const cdoSendUsingPickup = 1

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")

With iMsg
Set .Configuration = iConf
.To = "leforum@xld.fr"
.Subject = "Message du forum Xld"
.HTMLBody = "Ceci est un essai..."
'Set iBP = iMsg.AddAttachment("C:\lefichier.txt")
.Send
End With

End Sub


bonne soirée
michel
 

Discussions similaires


Haut Bas