Note: The other languages of the website are Google-translated. Back to English
English English

Comment appliquer un bouton pour envoyer un e-mail avec le fichier Word actuel en pièce jointe? 

Si vous devez envoyer un message électronique à partir d'un document Word via Outlook et joindre également le fichier Word actuel, vous pouvez créer un bouton de commande, puis envoyer le message en cliquant sur ce bouton sans ouvrir Outlook. Cet article, je vais vous présenter comment y faire face rapidement et facilement.

Appliquer un bouton pour envoyer un e-mail avec le fichier Word actuel en pièce jointe


Appliquer un bouton pour envoyer un e-mail avec le fichier Word actuel en pièce jointe

Veuillez suivre les étapes suivantes pour résoudre ce travail dans un fichier Word:

1. Tout d'abord, vous devez créer un bouton de commande, veuillez cliquer sur Développeur > Outils hérités > Bouton de commande (contrôle ActiveX), voir capture d'écran:

bouton doc pour envoyer l'email 1

2. Sélectionnez le bouton et cliquez sur Propriétés sous le Développeur onglet, dans le Propriétés volet, saisissez le texte de légende dont vous avez besoin dans le Légende champ, voir capture d'écran:

bouton doc pour envoyer l'email 2

3. Ensuite, fermez le Propriétés volet, maintenant, cliquez avec le bouton droit sur le bouton et choisissez Voir le code, voir capture d'écran:

bouton doc pour envoyer l'email 3

4. Et puis, dans l'affichage Microsoft Visual Basic pour applications fenêtre, copiez et collez le code ci-dessous entre les scripts originaux, voir capture d'écran:

Dim xOutlookObj As Object
    Dim xEmail As Object
    Dim xDoc As Document
    Application.ScreenUpdating = False
    Set xOutlookObj = CreateObject("Outlook.Application")
    Set xEmail = xOutlookObj.CreateItem(olMailItem)
    Set xDoc = ActiveDocument
    xDoc.Save
    With xEmail
        .Subject = "Fax-data"
        .Body = "This is a test email."
        .To = "yy@addin99.com"
        .Importance = olImportanceNormal
        .Attachments.Add xDoc.FullName
        .Display
    End With
    Set xDoc = Nothing
    Set xEmail = Nothing
    Set xOutlookObj = Nothing
    Application.ScreenUpdating = True

bouton doc pour envoyer l'email 4

Notes: Dans le code ci-dessus, vous devez modifier le sujet, le corps du texte ou l'adresse d'envoi selon vos besoins.

5. Ensuite, enregistrez et fermez ce code, cliquez sur Mode de conception pour désactiver le mode de conception. Maintenant, lorsque vous cliquez sur le bouton de commande que vous avez créé, un e-mail sera créé avec le document Word actuel en pièce jointe, voir capture d'écran:

bouton doc pour envoyer l'email 5

6. Enfin, il vous suffit de cliquer Envoyer bouton pour envoyer ce message.


Outils de productivité Word recommandés

 

Kutools For Word - Plus de 100 fonctionnalités avancées pour Word, économisez 50% de votre temps

  • Les opérations compliquées et répétées peuvent être effectuées une seule fois en quelques secondes.
  • Insérez simultanément plusieurs images dans des dossiers dans un document Word.
  • Fusionner et combiner plusieurs fichiers Word dans des dossiers en un seul avec l'ordre souhaité.
  • Divisez le document actuel en documents séparés selon l'en-tête, le saut de section ou d'autres critères.
  • Convertissez des fichiers entre Doc et Docx, Docx et PDF, collection d'outils pour les conversions et la sélection courantes, etc.
Commentaires (26)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie de faire envoyer l'e-mail avec la ligne d'objet étant le contenu de l'un de mes champs. Est-ce possible?
Ce commentaire a été minimisé par le modérateur sur le site
Hola, me podrían apoyar para que el archivo se convierta en PDF y se adjunte al correo en ves del word por favor.
Merci beaucoup.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour l'équipe Extend Office,

Je crois que 'xEmile' est mal orthographié. Ce devrait être 'xEmail'.

Tant que le code s'exécute et qu'il n'y a pas de problème, l'instruction suivante ne fera rien :

Définir xEmail = Rien
Ce commentaire a été minimisé par le modérateur sur le site
Salut Abhi,
Merci pour ton commentaire, comme tu le dis, le 'xEmile' est mal orthographié, ça devrait être 'xEmail'. J'ai mis à jour le code.
Merci encore!
Ce commentaire a été minimisé par le modérateur sur le site
Cela peut-il être fait pour n'envoyer qu'une seule page d'un document ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Don,
Pour faire face à votre tâche, veuillez appliquer le code ci-dessous, dans le code, vous devez modifier la page de démarrage et la page de fin par les vôtres :

Private Sub CommandButton1_Click ()

Dim xCurPageStart As Long, xCurPageEnd As Long, xCurPageRange As Range

Dim xCurPage As Integer, xPages As Integer

Dim xOutlookObj en tant qu'objet

Dim xEmail en tant qu'objet

Estomper xDoc en tant que document, xNewDoc en tant que document

Estomper xFilePath en tant que chaîne

Dim xOldStart As Long, xOldEnd As Long

On Error Resume Next

Application.ScreenUpdating = Faux

Set xOutlookObj = CreateObject("Outlook.Application")

Définir xEmail = xOutlookObj.CreateItem(olMailItem)

xFilePath = CreateObject("WScript.Shell").SpecialFolders(16)

Définir xDoc = ActiveDocument

xOldStart = xDoc.Application.Selection.Start

xOldEnd = xDoc.Application.Selection.End

xDoc.Enregistrer

xFilePath = xFilePath + "\fichier joint" + VBA.Mid(xDoc.FullName, VBA.InStrRev(xDoc.FullName, ".")) 'fichier joint est le nom du fichier joint, changez selon vos besoins

xCurPageStart = 2 ' page de démarrage

xCurPageEnd=2' page de fin

xPages = Sélection.Information(wdNumberOfPagesInDocument)

xCurPageStart = Selection.GoTo(what:=wdGoToPage, Which:=wdGoToNext, Name:=xCurPageStart).Start

Si xCurPage = xPages Alors

xCurPageEnd = ActiveDocument.Content.End

autre

xCurPageEnd = Selection.GoTo(what:=wdGoToPage, Which:=wdGoToNext, Name:=xCurPageEnd + 1).Start

Si fin

Définir xCurPageRange = ActiveDocument.Range(xCurPageStart, xCurPageEnd)

xCurPageRange.Select

xCurPageRange.Copy

Set xNewDoc = Application.Documents.Add(Visible :=False)

xNouveauDoc.Activer

xNewDoc.Content.PasteAndFormat wdFormatOriginalFormatting

xNouveauDoc.SaveAs2 NomFichier :=xCheminFichier

xNouveauDoc.Fermer

xDoc.Plage(xAncienDébut, xAncienFin).Sélectionner

Avec xEmail

.Subject = "Fax-data"

.Body = "Ceci est un e-mail de test."

.To = "aa@addin99.com"

.Importance = olImportanceNormale

.Attachments.Add xFilePath

.Afficher

Terminer par

VBA.Kill xFilePath

Définir xDoc = Rien

Définir xEmail = Rien

Définir xOutlookObj = Rien

Application.ScreenUpdating = True

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
J'ai créé un formulaire à remplir dans MS Word. J'ai utilisé des outils hérités pour le calcul, etc. J'ai également ajouté un bouton d'envoi qui permet d'envoyer le formulaire par e-mail. Le problème est que lorsque je rouvre ce document après l'avoir enregistré, cela ne fonctionne pas. J'ai même essayé de l'enregistrer en tant que document activé par macro, mais cela ne sert à rien. Peux-tu aider s'il te plait ?
Merci
Ce commentaire a été minimisé par le modérateur sur le site
Je l'ai fait fonctionner au début, puis pour une raison quelconque maintenant, cela me donne une erreur d'erreur 429 à propos du composant ActiveX ne peut pas créer d'objet. j'ai littéralement juste copié et collé. Cela fonctionnait auparavant, mais je viens de changer la taille de la police, d'agrandir le bouton et de renommer la légende. Je ne pense pas avoir accidentellement modifié d'autres paramètres ? Avez-vous des idées de ce que ça pourrait être?
Ce commentaire a été minimisé par le modérateur sur le site
Salut! J'aimerais que le bouton de commande envoie un e-mail avec le document Word comme corps de l'e-mail (mon document Word est un formulaire). Y-a-t-il un moyen de faire ça?
Ce commentaire a été minimisé par le modérateur sur le site
Je souhaite que mon document soit envoyé sous forme de document PDF plutôt que sous forme de document Word.
Ce commentaire a été minimisé par le modérateur sur le site
Par exemple, utiliser le texte d'une zone de texte/champ de texte dans le document Word et l'insérer sous forme de texte dans la ligne d'objet de votre e-mail ?
Ce commentaire a été minimisé par le modérateur sur le site
Oui, c'est aussi ce que je recherche. Quelqu'un peut-il aider avec cette demande ?
Ce commentaire a été minimisé par le modérateur sur le site
Cela fonctionne-t-il également pour Lotus Notes ?
Que dois-je changer dans "xOutlookObj" ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Extend office,
Pouvons-nous définir un e-mail différent non lié à Outlook ? Vous aimez envoyer un e-mail direct au compte GoDaddy ?
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie de trouver les mêmes informations. J'utilise gmail et j'ai besoin de créer un formulaire à envoyer à différentes adresses e-mail qui peuvent être automatiquement renvoyées à mon compte gmail.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai créé le document mais mon problème maintenant est que si j'envoie ce formulaire pour dire 4 personnes à remplir, quand ils l'ouvrent à partir de la pièce jointe de l'e-mail, il s'ouvre en mode lecture seule et quand ils cliquent sur soumettre, il leur demande d'enregistrer comme avant cela permettra au code d'ouvrir un e-mail qui m'est adressé. Existe-t-il un moyen de contourner cela autre que de leur donner l'emplacement du fichier ?
Ce commentaire a été minimisé par le modérateur sur le site
Pouvez-vous ajouter Cci à ce code ? J'ai essayé d'ajouter Bcc et je reçois une erreur de compilation pour l'expression attendue.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Heather,

Vous pouvez ajouter Cci à ce code. Par exemple, vous pouvez ajouter .Bcc = "zmt@addin99.com" juste en dessous de .To = "yy@addin99.com". Donc le code devient :

Dim xOutlookObj en tant qu'objet
Dim xEmail en tant qu'objet
Estomper xDoc en tant que document
Application.ScreenUpdating = Faux
Set xOutlookObj = CreateObject("Outlook.Application")
Définir xEmail = xOutlookObj.CreateItem(olMailItem)
Définir xDoc = ActiveDocument
xDoc.Enregistrer
Avec xEmail
.Subject = "Fax-data"
.Body = "Ceci est un e-mail de test."
.To = "aa@addin99.com"
.Cci = "zmt@addin99.com"
.Importance = olImportanceNormale
.Attachments.Add xDoc.FullName
.Afficher
Terminer par
Définir xDoc = Rien
Définir xEmail = Rien
Définir xOutlookObj = Rien
Application.ScreenUpdating = True

S'il vous plaît voir l'image ci-jointe. Passez une bonne journée.
Sincèrement,
Mandyhttps://www.extendoffice.com/images/stories/comments/comment-zmt/Add_Bcc_to_code.png
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour les gens,

Je souhaite appliquer un bouton sur lequel je clique et envoyer le document par e-mail, et non en pièce jointe, à une adresse e-mail. Pour que le document soit le texte de l'email. Tout comme l'effet du bouton "envoyer au destinataire" sur le ruban.

Quelqu'un peut-il me donner le bon code pour cela?

Thank you.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
Peut-être que le code ne peut pas aider à envoyer le document Word actuel en tant que corps de l'e-mail, si c'est le cas, la mise en forme de l'image et du fichier dans le document sera perdue.
Si vous souhaitez envoyer le document actuel en tant que corps d'e-mail, le publipostage peut vous rendre service.
Avez-vous besoin du publipostage pour envoyer des e-mails ?
Si vous avez besoin, veuillez commenter ici.
Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

Merci de votre aide!

J'essaierais avec votre suggestion. Alors oui, j'ai besoin du publipostage pour envoyer des e-mails.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,

Merci de votre aide!

J'essaierais avec votre suggestion. Pourriez-vous me donner le code pour le publipostage?

Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
Pour envoyer le document Word actuel en tant que corps de message, vous pouvez ajouter le Envoyer au destinataire du courrier commande à votre QAT, veuillez faire comme ceci:
1. Ouvrez votre fichier Word que vous souhaitez envoyer, puis cliquez sur Déposez le > Options.
2. Dans le volet de gauche, sélectionnez Barre d'outils d'accès rapide.
3 Sélectionner Commandes absentes du ruban du Choisissez les commandes de.
4. Choisissez et sélectionnez Envoyer au destinataire du courrier et cliquez sur le bouton Ajouter>>.
5. Cliquez OK pour fermer le dialogue.
https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-file-1.png

Maintenant ça Envoyer au destinataire du courrier commande apparaîtra dans le Barre d'outils d'accès rapide en haut de votre fenêtre Word. Ensuite, vous pouvez insérer les informations relatives dans l'en-tête du message. Après avoir terminé les informations, veuillez cliquer sur Envoyer une copie, le message avec le document Word actuel comme corps sera envoyé immédiatement.

https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-send-file-3.png

S'il vous plaît essayez ceci, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
J'ai trouvé que le bouton fonctionne pour ouvrir un e-mail, mais lors de l'utilisation du publipostage, le bouton VBA devient inactif pour une raison quelconque ?
Comment puis-je m'assurer que lorsque le publipostage est utilisé, le bouton fonctionnera pour que l'utilisateur remplisse le formulaire, puis active le bouton s'il vous plaît ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Mike,
Lorsque j'utilise la fonction de publipostage, le bouton est actif.
Pourriez-vous expliquer votre problème plus en détail?
Ou vous pouvez télécharger votre fichier ici, afin que nous puissions vérifier où se situe le problème.
Merci !
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Veuillez consulter le document ci-joint.
Je dois le mettre à jour pour l'utilisation des renouvellements 2023 et lors de la fusion, le bouton semble être désactivé car plusieurs membres m'ont dit que cela ne fonctionnait pas.

Merci,

Michel
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés