Afin de cloturer le sujet des Emails Outlook - VBA =>Excel =>Macro=>VBscript=>Ta

Signaler
Messages postés
22
Date d'inscription
lundi 3 septembre 2012
Statut
Membre
Dernière intervention
21 février 2013
-
Bonjour,

Après avoir effectué de nombreuses recherches, de pages lues...

Je me permets de réunir l'ensemble de l'information récoltée jusqu'à ce jour.

MAIS IL ME RESTE UNE ETAPE, la création via un bouton d'une tache planifié de manière automatique me revoyant à 00h00 tout les jours l'execution de fichier vbscript

1ère étape
la macro se trouvant dans mon programme Excel :
[i]Sub Envoie_Mail()
Set myApp = CreateObject("Outlook.Application")
Set myItem = myApp.CreateItem(olMailItem)
With myItem
.Subject = RR4 '"subject"
.Body = "Bonjour, " & Chr(10) & Chr(10) & EFG1 & Chr(10) & Chr(10) & "Bonne réception"
.Attachments.Add ActiveWorkbook.FullName
.To = RR1
.CC = ""
.display
End With
End Sub/i

2ème étape
Un programme créant les fichiers .vbs
le premier renvoyant a ma macro mail au fichier Excel
[i]Sub création_vbs()
Dim Fs As Object, A As Object
Dim i As Byte

'Premièrement on récupère l'adresse du Classeur...
Address = ThisWorkbook.Path
'Avant de créer un dossier, on s'assure qu'il n'existe pas
Address2 = Address & "\Ne pas effacer"
On Error Resume Next 'Si existe une erreur, continue à la ligne suivante
ChDir Address2 'Vérifie l'existence du dossier
If Err.Number <> 0 Then ' si le dossier n'existe pas, alors une erreur apparait
Err.Clear
MkDir Address2 'pour le créer
MsgBox "Le dossier 'Ne pas effacer' n'existait pas, celui-ci a été créé" & Chr(10) & _
"Vous le retrouverez à l'adresse suivante : " & Address2
End If
Name = Replace(ThisWorkbook.Name, ".xls", "")
MonFichier = Address2 & "" & Name & ".vbs"
Set Fs = CreateObject("Scripting.FileSystemObject")
Set A = Fs.CreateTextFile(MonFichier, True)
'Contenue du corp de text pour la création automatique du mail
B = "Dim oXL"
C "Set oXL WScript.CreateObject(""EXCEL.application"")"
D "oXL.Visible True"
e "set Wk oXL.workbooks.open(""" & ThisWorkbook.Path & "" & ThisWorkbook.Name & """)"
F = "oxl.run ""Envoie_Mail"""
G = "Wk.save"
H = "wk.close"
J = "oxl.quit"
K "Set oXL Nothing"
For i = 1 To 9
If i 1 Then L B
If i 2 Then L C
If i 3 Then L D
If i 4 Then L e
If i 5 Then L F
If i 6 Then L G
If i 7 Then L H
If i 8 Then L J
If i 9 Then L K
A.WriteLine (L)
Next i
A.Close/i
le deuxième suivi qui permet de faire fonctionner la macro présent dans Outlook.
[i]Name = Replace(ThisWorkbook.Name, ".xls", "")
MonFichier = Address2 & "" & "Outlook - " & Name & ".vbs"
Set Fs = CreateObject("Scripting.FileSystemObject")
Set x = Fs.CreateTextFile(MonFichier, True)
'Contenue du corps de texte pour la gestion d'envoie mail automatique
B = "'Lance une macro dans OUTLOOK"
C = " Dim theApp, theNameSpace, theMailItem"
D " Set theApp WScript.CreateObject(""Outlook.Application"")"
e " 'Set theNameSpace theApp.GetNamespace(""MAPI"")"
F = "On error resume next"
G = "'on peut afficher par exemple le sujet du mail actif ."
H " Set theMailItem theApp.activeInspector.currentitem"
J = "'ici on lance une macro du nom de toto dans Outlook."
K = "Call theapp.Envoie_mail2"
M "set theapp nothing"
N = " Set theNameSpace= Nothing"
O = " Set theMailItem= Nothing"
For z = 1 To 12
If z 1 Then L B
If z 2 Then L C
If z 3 Then L D
If z 4 Then L e
If z 5 Then L F
If z 6 Then L G
If z 7 Then L H
If z 8 Then L J
If z 9 Then L K
If z 10 Then L M
If z 11 Then L N
If z 12 Then L O
x.WriteLine (L)
Next z
x.Close
End Sub/i

Pour finir la saisie une macro a placer dans outlook dans ThisOutlookSession:
[i]Sub Envoie_mail2()
Dim MonMsg As Outlook.MailItem
Set MonMsg = Application.ActiveInspector.CurrentItem
MonMsg.Display
MonMsg.Send
End Sub/i

Voilà, pour conclure et cela marchera déjà, on planifie manuellement vi le planificateur de Windows les fichiers .vbs.
Bien entendu le générateur de mail avant le fichier .vbs qui simule à travers Outlook la touche "Entrée".

Mais j'aimerai générer la tache planifié par un bouton sur mon fichier car j'en ai plusieurs et cela permettra de l'effectuer de manière automatique. Je travaille avec des personnes qui on beaucoup de mal avec un Pc, alors leur dire de rentrer dans le planificateur de Windows, je vous laisse imaginer...

Merci d'avance pour votre lecture et surtout pour votre aide.

Bonne journée