Bonjour,
Je voudrais créer un mail en VBA à partir d'un modèle Outllok 2003 (*.oft)
Comment faire?
Est-il possible de prévoir dans le corps du modèle des éléments variables, des champs dont je passerais la valeur en VBA ?
Merci
Bonjour,
Je voudrais créer un mail en VBA à partir d'un modèle Outllok 2003 (*.oft)
Comment faire?
Est-il possible de prévoir dans le corps du modèle des éléments variables, des champs dont je passerais la valeur en VBA ?
Merci
Salut,
Il y a une fonction voici l'exemple de l'aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sub CreateFromTemplate() Dim myOlApp As Outlook.Application Dim MyItem As Outlook.MailItem Set myOlApp = CreateObject("Outlook.Application") Set MyItem = myOlApp.CreateItemFromTemplate("C:\statusrep.oft") MyItem.Display End Sub
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Ca n'indique pas comment gérer des champs variables dans le corps du mail
Bonjour,
Ce sujet m'interresse car je recherchais une solution pour préparer des messages standard utilisables par une procédure VBA.
J'ai 2 questions :
Sous Outlook, comment fait-on pour ouvrir un modèle de mail créé précédement (je n'ai pas trouvé le moyen) ?
Sous VBA j'arrive à récupérer le mail avec la méthde CreateItemFromTemplate mais je n'arrive pas à récuperer ou ajouter du texte au HTMLBody.
- Si je ne touche à rien le texte d'origine est bien maintenu dans le mail,
- Si je modifie (ex : xxx.HTMLBody = xxx.HTMLBody & "texte ajouté .....") seule la partie "texte ajouté ..." apparait dans le mail final.
Merci d'avance pour votre aide,
Thierry
ouvrir le modele c'est à dire ? pour modifier l'original ?
Quel est ton code exact pour cette opération car chez moi cela fonctionne, mais c'est du HTML donc il lui faut des balises html, le mieux c'est de remplacer la balise "<BODY>" pour un ajout au début ou "</BODY>" pour un ajout à la fin"Sous VBA j'arrive à récupérer le mail avec la méthde CreateItemFromTemplate mais je n'arrive pas à récuperer ou ajouter du texte au HTMLBody.
- Si je ne touche à rien le texte d'origine est bien maintenu dans le mail,
- Si je modifie (ex : xxx.HTMLBody = xxx.HTMLBody & "texte ajouté .....") seule la partie "texte ajouté ..." apparait dans le mail final.
Merci d'avance pour votre aide,
Thierry
Code : Sélectionner tout - Visualiser dans une fenêtre à part Myitem.HTMLBody = Replace(Myitem.HTMLBody, "<BODY>", "<BODY> COUCOU")
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Bonjour,
Peut être devrais tu commencer par consulter cette page
http://dolphy35.developpez.com/article/outlook/vba/
MyItem represente ton mail il suffit de changer ses propriétés
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyItem.subject = "mon sujet"
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Bonsoir,
Réponse aux questions d'Oliv :
Ce que je souhaite faire c'est ouvrir un nouveau mail sur la base du modèle.
Pour le code, voici une partie du code qui tourne actuellement :
La procédure actuelle produit des centaines de mail par jour sur ce principe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 set myItem = Outlook.Application.CreateItem(olMailItem) monTexte = "......le texte du mail" myItem.BodyFormat = olFormatHTML myItem.HTMLBody = "<html>" & monTexte & "</html>"
et ce que je voulais faire :
Avec ce code j'obtiens un mail avec uniquement monTexte dans le corps du mail
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 set myItem = Outlook.Application.CreateItemFromTemplate(olMailItem) monTexte = "......le texte à ajouter au mail" myItem.BodyFormat = olFormatHTML myItem.HTMLBody = "<html>" & myItem.HTMLBody & monTexte & "</html>"
ou est mon erreur ?
Thierry
Partager