> Tous les forumsAutres langages

 envoi mail sous vba via outlook
Statut du sujet : NON RESOLU Imprimer
 berflot
  Posté le 20/04/2004 @ 16:11  
 Petit astucien

1 Message
Bonjour, J'ai développé en VBA sous excel une application qui, entre autre, génère un fichier.xls que je souhaite transmettre via Outlook toutes les nuits à mes collègues. Le problème réside dans le fait que lorsque mon application "appelle" Outlook, une fenêtre signalant qu'une application veut accéder au carnet d'adresse, s'ouvre et impose qu'un opérateur autorise cette opération : CODE 1 J'ai essayé de réaliser cet envoi via un script en vbs : même problème : CODE 2 Le comble : j'ai créé une procédure en VBA dans Outlook même ==> même problème ! : CODE 3 MERCI CODE 1 : Sub MailHA() Dim AppOutlook As Object Dim Message As Object Dim AttFile As String Dim Destin(3) ' chemin de Relance.xls Chemin = "//serveur/public/ORDO/planificationOF/" AttFile = Chemin & "Relance.xls" Destin(1) = "x@hotmail.com" Destin(2) = "y@hotmail.com" Destin(3) = "z@hotmail.com" Set AppOutlook = CreateObject("Outlook.Application") For I = 1 To 3 Set Message = AppOutlook.createitem(0) With Message .Recipients.Add Destin(I) .Subject = "Relance" .Attachments.Add AttFile Send End With Application.Wait (Now + TimeValue("00:00:02")) Next I Set AppOutlook = Nothing End Sub CODE 2 : set fs = CreateObject("Scripting.FileSystemObject") Set ws = WScript.CreateObject("WScript.Shell") set OlAp = CreateObject("outlook.application") Set myNameSpace = OlAp.GetNameSpace("MAPI") Set myFolder = myNameSpace.GetDefaultFolder(6) Set myForward = myFolder.Items(1).Forward myForward.Recipients.Add "x@hotmail.com" myForward.Send j'ai essayé de simuler la présence d'un opérateur qui autoriserait l'envoi du fichier mais la fenêtre de message outlook n'a pas le focus (?) et les instructions de simulation de frappes clavier ne sont donc pas exécutées ... WScript.Sleep 100 Ws.SendKeys "{RIGHT}" WScript.Sleep 100 Ws.SendKeys "{ENTER}" CODE 3: Sub Auto_Open() ' mardi ==> mail relance HA ' ( w = 1 Dimanche ....) If DatePart("w", Date) = 3 And Time() > "21:00:00" Then ' mardi soir ' Relance.xls DocJoint = "//serveur/public/ORDO/planificationOF/Relance.xls" Set myOlApp = CreateObject("Outlook.Application") Set myItem = myOlApp.CreateItem(olMailItem) Set myAttachments = myItem.Attachments myAttachments.Add DocJoint, olByValue, 1, "Relance" myItem.Recipients = ("x@ hotmail.com ") myItem.Send End If Application.Quit End Sub
 Afficher le profil de berflotEnvoyer un message privé à berflot
 
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
envoi de pieces jointes
outlook express
VBA SOUS OUTLOOK
Créer un événement en VBA sous Outlook 2000
COBOL
Vba2002 à 2003
Copie de Base de données ouverte à travers le net
macro VBA Outlook
Probleme de Script!!! Aidez moi!
Envoie de mail
De VBA à VB6, un pb
histoire de processus...
problème d'enregistrement avec access et VBA
Probleme avec un Recordset sous VBA pour Access2k
VBA et OE ???
Quelques conseils pour un débutant vba - bdd
code vba dans acess 2000 sous W98
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page