| | 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
| | | |
| | 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
|
|