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

Comment insérer la signature Outlook lors de l'envoi d'un e-mail dans Excel?

Supposons que vous souhaitiez envoyer un e-mail directement dans Excel, comment pouvez-vous ajouter la signature Outlook par défaut dans l'e-mail ? Cet article propose deux méthodes pour vous aider à ajouter une signature Outlook lors de l'envoi d'e-mails dans Excel.

Insérer la signature dans le courrier électronique Outlook lors de l'envoi par Excel VBA
Insérez facilement la signature Outlook lors de l'envoi d'un e-mail dans Excel avec un outil incroyable

Plus de tutoriels pour l'envoi dans Excel ...


Insérer la signature dans le courrier électronique Outlook lors de l'envoi par Excel VBA

Par exemple, il existe une liste d'adresses e-mail dans une feuille de calcul, pour envoyer des e-mails à toutes ces adresses dans Excel et ajouter la signature Outlook par défaut dans les e-mails. Veuillez appliquer le code VBA ci-dessous pour y parvenir.

1. Ouvrez la feuille de calcul contenant la liste d'adresses e-mail à laquelle vous souhaitez envoyer un e-mail, puis appuyez sur le bouton autre + F11 clés.

2. Dans l'ouverture Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis copiez le ci-dessous VBA2 dans la fenêtre de code du module.

3. Vous devez maintenant remplacer le .Corps faire la queue VBA2 avec le code en VBA1. Après cela, déplacez la ligne .Afficher sous la ligne Avec xMailOut.

VBA 1 : modèle d'envoi d'e-mails avec la signature par défaut d'Outlook dans Excel

.HTMLBody = "This is a test email sending in Excel" & "<br>" & .HTMLBody

VBA 2: envoyer un e-mail aux adresses e-mail spécifiées dans les cellules dans Excel

Sub SendEmailToAddressInCells()
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

La capture d'écran suivante peut vous aider à trouver facilement les différences après avoir modifié le code VBA.

4. appuie sur le F5 clé pour exécuter le code. Puis un Kutools pour Excel la boîte de sélection apparaît, veuillez sélectionner les adresses e-mail auxquelles vous enverrez des e-mails, puis cliquez sur D'ACCORD.

Ensuite, les e-mails sont créés. Vous pouvez voir que la signature par défaut d'Outlook est ajoutée à la fin du corps de l'e-mail.

Conseils:

  • 1. Vous pouvez modifier le corps de l'e-mail dans le code VBA 1 en fonction de vos besoins.
  • 2. Après avoir exécuté le code, si une boîte de dialogue d'erreur apparaît pour avertir que le type défini par l'utilisateur n'est pas défini, fermez cette boîte de dialogue, puis cliquez sur Outils > Références dans le Microsoft Visual Basic pour applications la fenêtre. Dans l'ouverture Références - VBAProject fenêtre, vérifiez la Bibliothèque d'objets Microsoft Outlook boîte et cliquez D'ACCORD. Et puis exécutez à nouveau le code.

Insérez facilement la signature Outlook lors de l'envoi d'un e-mail dans Excel avec un outil incroyable

Si vous êtes un novice en VBA, je recommande vivement le Envoyer des emails utilité de Kutools pour Excel pour vous. Avec cette fonctionnalité, vous pouvez facilement envoyer des e-mails en fonction de certains champs dans Excel et leur ajouter une signature Outlook. Veuillez faire comme suit.

Avant d'appliquer Kutools pour Excel, S'il vous plaît téléchargez et installez-le d'abord.

Tout d'abord, vous devez créer une liste de diffusion avec différents champs sur lesquels vous enverrez des e-mails.

Vous pouvez créer manuellement une liste de diffusion selon vos besoins ou appliquer la fonction Créer une liste de diffusion pour le faire rapidement.

1. Cliquez Kutools Plus > Créer une liste de diffusion.

2. dans le Créer une liste de diffusion boîte de dialogue, spécifiez les champs dont vous avez besoin, choisissez l'emplacement de sortie de la liste, puis cliquez sur le bouton OK .

3. Un exemple de liste de diffusion est maintenant créé. Comme il s'agit d'un exemple de liste, vous devez modifier les champs pour certains contenus nécessaires. (plusieurs lignes sont autorisées)

4. Après cela, sélectionnez toute la liste (inclure les en-têtes), cliquez sur Kutools Plus > Envoyer des emails.

5. dans le Envoyer des emails boite de dialogue:

  • 5.1) Les éléments de la liste de diffusion sélectionnée sont placés automatiquement dans les champs correspondants;
  • 5.2) Terminez le corps de l'e-mail;
  • 5.3) Vérifiez les Envoyer un e-mail via Outlook et des tours Utiliser les paramètres de signature d'Outlook des boites;
  • 5.4) Cliquez sur le Envoyer bouton. Voir la capture d'écran:

Les e-mails sont maintenant envoyés. Et la signature Outlook par défaut est ajoutée à la fin du corps de l'e-mail.

  Si vous souhaitez bénéficier d'un essai gratuit (30 jours) de cet utilitaire, veuillez cliquer pour le télécharger, puis passez à appliquer l'opération selon les étapes ci-dessus.


Articles Liés:

Envoyer un e-mail aux adresses e-mail spécifiées dans les cellules dans Excel
Supposons que vous ayez une liste d'adresses e-mail et que vous souhaitiez envoyer un message électronique à ces adresses e-mail en masse directement dans Excel. Comment y parvenir? Cet article vous montrera les méthodes d'envoi d'e-mail à plusieurs adresses e-mail spécifiées dans les cellules d'Excel.

Envoyer un e-mail en copiant et en collant une plage spécifiée dans le corps de l'e-mail dans Excel
Dans de nombreux cas, une plage de contenu spécifiée dans la feuille de calcul Excel peut être utile dans votre communication par courrier électronique. Dans cet article, nous présenterons une méthode d'envoi d'un e-mail avec une plage spécifiée collée dans le corps de l'e-mail directement dans Excel.

Envoyer un e-mail avec plusieurs pièces jointes jointes dans Excel
Cet article parle de l'envoi d'un e-mail via Outlook avec plusieurs pièces jointes jointes dans Excel.

Envoyer un e-mail si la date d'échéance a été respectée dans Excel
Par exemple, si la date d'échéance dans la colonne C est inférieure ou égale à 7 jours (la date actuelle est le 2017/9/13), envoyez un e-mail de rappel au destinataire spécifié dans la colonne A avec le contenu spécifié dans la colonne B. Comment faire parvenir? Cet article fournira une méthode VBA pour y faire face en détail.

Envoyer automatiquement un e-mail en fonction de la valeur de la cellule dans Excel
Supposons que vous souhaitiez envoyer un e-mail via Outlook à un certain destinataire en fonction d'une valeur de cellule spécifiée dans Excel. Par exemple, lorsque la valeur de la cellule D7 dans une feuille de calcul est supérieure à 200, un e-mail est créé automatiquement. Cet article présente une méthode VBA pour vous permettre de résoudre rapidement ce problème.

Plus de tutoriels pour l'envoi dans Excel ...


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (27)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
merci beaucoup, tu me sauves la vie avec ce modèle :D
Ce commentaire a été minimisé par le modérateur sur le site
Cher Favio,
Heureux de vous aider.
Ce commentaire a été minimisé par le modérateur sur le site
ne fonctionne pas avec les pièces jointes dans Office 2016
Ce commentaire a été minimisé par le modérateur sur le site
Cher Chris,
Le code VBA ci-dessous peut vous aider. Après avoir exécuté le code, sélectionnez les cellules contenant les adresses e-mail auxquelles vous enverrez des e-mails, puis sélectionnez les fichiers que vous devez joindre dans l'e-mail en tant que pièces jointes lorsque la deuxième boîte de dialogue apparaît. Et la signature Outlook par défaut sera également affichée dans le corps de l'e-mail. Merci pour votre commentaire.

Sous SendEmailToAddressInCells()
Dim xRg As Range
Dim xRgChacun comme plage
Dim xRgVal As String
Dim xAddress As String
Dim xOutApp comme Outlook.Application
Dim xMailOut comme Outlook.MailItem
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Veuillez sélectionner la plage d'adresses e-mail", "KuTools For Excel", xAddress, , , , , 8)
Si xRg n'est rien, quittez Sub
Application.ScreenUpdating = Faux
Set xOutApp = CreateObject("Outlook.Application")
Définir xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
Définir xFileDlg = Application. FileDialog (msoFileDialogFilePicker)
Si xFileDlg.Show = -1 Alors
Pour chaque xRgChaque dans xRg
xRgVal = xRgChaque.Valeur
Si xRgVal Comme "?*@?*.?*" Alors
Définir xMailOut = xOutApp.CreateItem(olMailItem)
Avec xMailOut
.Afficher
.To = xRgVal
.Sujet = "Test"
.HTMLBody = "Ceci est un test d'envoi d'email dans Excel" & "
" & .HTMLBody
Pour chaque xFileDlgItem dans xFileDlg.SelectedItems
.Attachments.Add xFileDlgItem
Suivant xFileDlgItem
'.Envoyer
Terminer par
Si fin
Suivant
Définir xMailOut = Rien
Définir xOutApp = Rien
Application.ScreenUpdating = True
Si fin
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie d'ajouter la signature Outlook intitulée "default" mais je n'arrive pas à croire que cela fonctionne.
Peux-tu aider s'il te plait? Je crois que ma logique "xMailout" est fausse. c'est ma zone suspecte défectueuse.

Private Sub CommandButton1_Click ()

Dim xOutApp en tant qu'objet
Estomper xOutMail en tant qu'objet
Estomper xMailBody en tant que chaîne
Dim xMailOut comme Outlook.MailItem
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Définir xOutMail = xOutApp.CreateItem(0)
xMailBody = "Salutations :" & vbNewLine & vbNewLine & _
"Ceci est la ligne 1" & vbNewLine & _
"Ceci est la ligne 2" & vbNewLine & _
"Ceci est la ligne 3" & vbNewLine & _
"C'est la ligne 4"
On Error Resume Next
Avec xOutMail
.To = "Email.ici.com"
.CC = "Email.ici.com"
.Subject = "Titre de l'e-mail ici - " & Range("Cell#").value
.Body = xMailBody
. Attachments.Add ActiveWorkbook.FullName
Définir xMailOut = xOutApp.CreateItem(olMailItem)
Avec xMailOut
.Afficher
Terminer par
ActiveWorkbook.Sauvegarder
En cas d'erreur GoTo 0
Définir xOutMail = Rien
Définir xOutApp = Rien
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Bonne journée,
Votre script a été modifié, veuillez essayer. Merci.

Private Sub CommandButton1_Click ()
Dim xOutApp en tant qu'objet
Estomper xOutMail en tant qu'objet
Estomper xMailBody en tant que chaîne
Dim xMailOut comme Outlook.MailItem
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Définir xOutMail = xOutApp.CreateItem(0)
xMailBody = "Salutations :" & vbNewLine & vbNewLine & _
"Ceci est la ligne 1" & vbNewLine & _
"Ceci est la ligne 2" & vbNewLine & _
"Ceci est la ligne 3" & vbNewLine & _
"C'est la ligne 4"
On Error Resume Next
Avec xOutMail
.To = "Email.ici.com"
.CC = "Email.ici.com"
.Subject = "Titre de l'e-mail ici - " & Range("Cell#").Value
.Body = xMailBody
.Attachments.Add ActiveWorkbook.FullName
Définir xMailOut = xOutApp.CreateItem(olMailItem)
Avec xMailOut
.Afficher
Terminer par
Terminer par
ActiveWorkbook.Sauvegarder
En cas d'erreur GoTo 0
Définir xOutMail = Rien
Définir xOutApp = Rien
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
comment ajouter une signature si la macro est utilisée par plusieurs utilisateurs.
par exemple, ma macro sera également exécutée par 3 autres personnes. Alors, comment la macro peut-elle utiliser la signature de l'utilisateur qui exécute la macro.
Merci d'avance
Ce commentaire a été minimisé par le modérateur sur le site
Good Day,
Le code VBA peut reconnaître automatiquement la signature par défaut dans Outlook de l'expéditeur et envoyer un e-mail avec sa propre signature via Outlook.
Ce commentaire a été minimisé par le modérateur sur le site
Si mon corps de texte est lié pour extraire des champs Excel, l'utilisation de & .HTMLBody à la fin de la chaîne efface tout le corps du texte et laisse juste la signature.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai du mal à exécuter ceci sur Excel 2016. Je reçois un message "Erreur de compilation : Type défini par l'utilisateur non défini". S'il vous plaît aidez-moi!
Ce commentaire a été minimisé par le modérateur sur le site
Superbe!!!!
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup ...
Ce commentaire a été minimisé par le modérateur sur le site
Salut, j'aurais besoin d'aide avec ma macro, j'ai besoin d'insérer la signature Outlook sous le tableau, pourriez-vous m'aider avec ça ?

Private Sub CommandButton1_Click ()


Atténuer les perspectives en tant qu'objet
Dim newEmail As Object
Dim xInspect As Object
Dim pageEditor As Object

Set outlook = CreateObject("Outlook.Application")
Définir newEmail = outlook.CreateItem(0)

Avec un nouvel e-mail
.To = Sheet5.Range("F1")
.CC = ""
.BCC = ""
.Sujet = Sheet5.Range("B5")
.Body = Sheet5.Range("B41")
.affichage

Définir xInspect = newEmail.GetInspector
Set pageEditor = xInspect.WordEditor

Sheet5.Range("B6:I7").Copy

pageEditor.Application.Selection.Start = Len(.Body)
pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)

.affichage
Définir pageEditor = Rien
Définir xInspect = Rien
Terminer par

Set newEmail = Rien
Définir Outlook = Rien

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Bara,
Désolé, je ne peux pas vous aider. Merci pour votre commentaire.
Ce commentaire a été minimisé par le modérateur sur le site
Cher,
Quelqu'un peut-il m'aider avec mon VBA,
J'ai besoin de la signature dans l'e-mail créé :
Ce commentaire a été minimisé par le modérateur sur le site
Grâce à vous, je peux ajouter une signature maintenant, mais cela supprime ensuite les espaces entre les paragraphes de texte. Pourriez-vous m'aider s'il vous plait ?


Sous helloworld()
Dim OutApp en tant qu'objet
Dim OutMail en tant qu'objet
Dim cell As Range
Estomper le chemin en tant que chaîne
Chemin = Application.ActiveWorkbook.Path
Set OutApp = CreateObject("Outlook.Application")

Pour chaque cellule dans la plage ("C4: C6")
Définir OutMail = OutApp.CreateItem(0)
Avec OutMail
.Afficher
.To = cellule.Valeur
.Subject = Cells(cell.Row, "D").Value
.HTMLBody = "Cher " & Cells(cell.Row, "B").Value & "," _
& vbNouvelleLigne & vbNouvelleLigne & _
"Salutations" _
& vbNouvelleLigne & vbNouvelleLigne & _
"Nous, JK Overseas, aimerions saisir l'occasion et présenter notre société JK Overseas, qui est impliquée dans le commerce du sel depuis 3 ans. Nous sommes actuellement forts sur le marché intérieur et en expansion à l'étranger. Nous sommes le fournisseur de sel comestible, Sel adoucisseur d'eau, sel de déglaçage, sel industriel" & "." _
& vbNouvelleLigne & vbNouvelleLigne & _
"Nous avons un lien avec des fabricants à grande échelle en Inde et nous nous procurons du sel de qualité et des exportations. Nous recherchons donc un importateur expert fiable ainsi qu'un agent distributeur pour faire une entreprise à long terme avec un bénéfice mutuel" & " ." _
& vbNouvelleLigne & vbNouvelleLigne & _
"Veuillez nous contacter avec vos besoins ou pour toute autre demande que vous pourriez avoir. Nous fournissons une logistique fiable et une livraison à temps. Nous sommes convaincus que nos prix étant les plus compétitifs correspondront à vos attentes" & "." _
& vbNouvelleLigne & vbNouvelleLigne & _
.HTMLBody

'.Envoyer
Terminer par
Cellule suivante
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie d'intégrer ce code dans le format actuel que j'ai actuellement, ce qui me permet d'automatiser les e-mails dans Excel en fonction d'une plage de valeurs définie. Toute aide concernant l'endroit où ajouter le code "signature" dans ce que j'ai actuellement serait très appréciée.

Public Sub CheckAndSendMail()

'Mis à jour par Extendoffice 2018/11/22

Dim xRgDate comme plage

Dim xRgSend As Range

Dim xRgText As Range

Dim xRgDone comme plage

Dim xOutApp en tant qu'objet

Estomper xMailItem en tant qu'objet

Dim xLastRow As Long

Dim vbCrLf As String

Estomper xMailBody en tant que chaîne

Dim xRgDateVal en tant que chaîne

Dim xRgSendVal As String

Dim xMailSubject As String

Dim I As Long

On Error Resume Next

'Veuillez spécifier la plage de dates d'échéance

xStrRang = "D2:D110"

Définir xRgDate = Plage (xStrRang)

'Veuillez spécifier la plage d'adresses e-mail des destinataires

xStrRang = "C2:C110"

Définir xRgSend = Range(xStrRang)

xStrRang = "A2:A110"

Définir xRgName = Range(xStrRang)

'Spécifiez la plage avec le contenu rappelé dans votre e-mail

xStrRang = "Z2:Z110"

Définir xRgText = Plage (xStrRang)

xLastRow = xRgDate.Rows.Count

Définir xRgDate = xRgDate(1)

Définir xRgEnvoie = xRgEnvoie(1)

Définir xRgName = xRgName(1)

Définir xRgText = xRgText(1)

Set xOutApp = CreateObject("Outlook.Application")

Pour I = 1 à xLastRow

xRgDateVal = ""

xRgDateVal = xRgDate.Offset(I - 1).Value

Si xRgDateVal <> "" Alors

Si CDate(xRgDateVal) - Date <= 30 Et CDate(xRgDateVal) - Date > 0 Alors

xRgSendVal = xRgSend.Offset(I - 1).Value

xMailSubject = " Contrat de service JBC expirant le " & xRgDateVal

vbCrLf = "

"

xMailBody = ""

xMailBody = xMailBody & "Cher " & xRgName.Offset(I - 1).Value & vbCrLf

xMailBody = xMailBody & " " & xRgText.Offset(I - 1).Value & vbCrLf

xMailBody = xMailBody & ""

Définir xMailItem = xOutApp.CreateItem(0)

Avec xMailItem

.Sujet = xMailSujet

.To = xRgEnvoieVal

.CC = "mailcc@justbettercare.com"

.HTMLBody = xMailBody

.Afficher

'.Envoyer

Terminer par

Définir xMailItem = Rien

Si fin

Si fin

Suivant

Définir xOutApp = Rien

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
C'est un code vraiment utile
Je dois changer le format du texte de droite à gauche Dans la ligne xOutMsg
Aidez-moi, s'il vous plaît .
Ce commentaire a été minimisé par le modérateur sur le site
J'essaie d'envoyer des feuilles individuelles d'Excel à différents e-mails, mais cela ne fera que joindre le classeur lui-même. De plus, je dois pouvoir ajouter ma ligne de signature. Une aide ?Sub AST_Email_From_Excel()

Dim emailApplication As Object
Dim emailItem en tant qu'objet

Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)

' Maintenant, nous construisons l'e-mail.

emailItem.to = Range("e2").Valeur

emailItem.CC = Plage("g2").Valeur

emailItem.Subject = "Équipement Techquidation non retourné"

emailItem.Body = "Voir la feuille de calcul ci-jointe pour les articles non retournés dans votre région"

'Joindre le classeur actuel
emailItem.Attachments.Add ActiveWorkbook.FullName

'Joignez n'importe quel fichier de votre ordinateur.
'emailItem.Attachments.Add ("C:\...)"

'Envoie le mail
'emailItem.send

'Afficher l'e-mail afin que l'utilisateur puisse le modifier comme il le souhaite avant de l'envoyer
emailItem.Display

Set emailItem = Rien
Set emailApplication = Nothing

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Chris, Le code que vous avez fourni a été modifié. La signature Outlook peut maintenant être insérée dans le corps du message. Veuillez essayer. Merci. Sous AST_Email_From_Excel()
'Mis à jour par Extendoffice 20220211
Dim emailApplication As Object
Dim emailItem en tant qu'objet
Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)

' Maintenant, nous construisons l'e-mail.
emailItem.Display 'Affiche l'e-mail afin que l'utilisateur puisse le modifier comme il le souhaite avant de l'envoyer
emailItem.to = Range("e2").Valeur
emailItem.CC = Plage("g2").Valeur
emailItem.Subject = "Équipement Techquidation non retourné"
emailItem.HTMLBody = "Voir la feuille de calcul ci-jointe pour les articles non retournés dans votre région" & " " & emailItem.HTMLBody

'Joindre le classeur actuel
emailItem.Attachments.Add ActiveWorkbook.FullName

Set emailItem = Rien
Set emailApplication = Nothing

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Crystal, merci de l'avoir fait ajouter la signature, ne semble pas aimer la section HTMLBody cependant. " " & emailItem.HTMLBodyand ne complète pas le reste.  
Ce commentaire a été minimisé par le modérateur sur le site
Hi,
Quelle version d'Excel utilisez-vous ? Le code VBA suivant peut également vous aider. Veuillez essayer. Merci pour vos commentaires. Sous SendWorkSheet()
'Mettre à jour par Extendoffice 20220218
Estomper xFile en tant que chaîne
Dim xFormat As Long
Dim Wb comme classeur
Dim Wb2 en tant que classeur
Dim FilePath As String
Dim FileName As String
Dim OutlookApp en tant qu'objet
Dim OutlookMail en tant qu'objet
On Error Resume Next
Application.ScreenUpdating = Faux
Définir Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Définir Wb2 = Application.ActiveWorkbook
Sélectionnez Case Wb.FileFormat
Cas xlOpenXMLWorkbook :
xFichier = ".xlsx"
xFormat = xlOpenXMLWorkbook
Cas xlOpenXMLWorkbookMacroEnabled :
Si Wb2.HasVBProject Alors
xFichier = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
autre
xFichier = ".xlsx"
xFormat = xlOpenXMLWorkbook
Si fin
Cas Excel8 :
xFichier = ".xls"
xFormat = Excel8
Cas xlExcel12 :
xFichier = ".xlsb"
xFormat = xlExcel12
End Select
CheminFichier = Environ$("temp") & "\"
FileName = Wb.Name & Format (Maintenant, "jj-mmm-aa h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Définir OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
'xstr = Range("e2") & " ; " & Range("g2")
Avec OutlookMail
.Afficher
.To = Plage("e2")
.CC = Plage("g2")
.BCC = ""
.Subject = "Équipement Techquidation non retourné"
.HTMLBody = "Voir la feuille de calcul ci-jointe pour les articles non retournés dans votre région" & " " & .HTMLBody
.Attachments.Add Wb2.FullName
'.Envoyer
Terminer par
Wb2.Fermer
Tuer FilePath & FileName & xFile
Définir OutlookMail = Rien
Définir OutlookApp = Rien
Application.ScreenUpdating = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Semble être Excel 2016 et VBA 7.1
Ce commentaire a été minimisé par le modérateur sur le site
Oi Cristal, a minha macro perde a configuração da sinatura do e-mail, com imagens e formatação original. Como consigo résolveur?

Sous Geraremail()

Dim OLapp comme Outlook.Application
Dim janela comme Outlook.MailItem

Définir OLapp = New Outlook.Application
Définir janela = OLapp.CreateItem(olMailItem)

Arquivo01 = "Carte AN"
Anexo01 = ThisWorkbook.Path & "\" & Arquivo01 & ".xlsm"


Avec Janela
ActiveWorkbook.Sauvegarder
.Afficher
.To = Sheets("Base").Range("A2").Valeur
.CC = Feuilles("Base").Plage("A5").Valeur
.Subject = "Mapa - Acrilo " & Format(Date, "jj.mm.aa")
asinatura = .Corps
.Body = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando as vendas previstas no S&OP." & Chr(10) & Chr(10) & assinatura
.Pièces jointes.Ajouter Anexo01
Terminer par

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Com a mudança abaixo, consegui ajustar. Porém a letra do corpo da mensagem fica em Times New Roman. Gostaria de usar Calibri, como posso alterar o código ?

Sous Geraremail()

Dim OLapp comme Outlook.Application
Dim janela comme Outlook.MailItem

Définir OLapp = New Outlook.Application
Définir janela = OLapp.CreateItem(olMailItem)

Arquivo01 = "Carte AN"
Anexo01 = ThisWorkbook.Path & "\" & Arquivo01 & ".xlsm"


Avec Janela
ActiveWorkbook.Sauvegarder
.Afficher
.To = Sheets("Base").Range("A2").Valeur
.CC = Feuilles("Base").Plage("A5").Valeur
.Subject = "Mapa - Acrilo " & Format(Date, "jj.mm.aa")
asinatura = .Corps
.HTMLBody = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando as vendas previstas no S&OP." & " " & .HTMLBody
.Pièces jointes.Ajouter Anexo01
Terminer par

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Milla,
Le code VBA suivant peut vous aider à changer la police du corps de l'e-mail en Calibri, veuillez l'essayer. Merci.
Avant d'exécuter le code, vous devez cliquer sur Outils > Une référence dans le Microsoft Visual Basic pour applications fenêtre, puis vérifiez la Bibliothèque d'objets Microsoft Word case à cocher dans le Références - VBAProject boîte de dialogue comme la capture d'écran ci-dessous.
[img]I:\工作\周雪明\2022年工作\6月份\文章评论截图\3.png[/img]
Sub Geraremail()
Dim OLapp As Outlook.Application
Dim janela As Outlook.MailItem
Dim xDoc As Document 'Click Tools > Reference to enable the Microsoft Word Object Library
On Error Resume Next
Set OLapp = New Outlook.Application
Set janela = OLapp.CreateItem(olMailItem)
Arquivo01 = "Mapa AN"
Anexo01 = ThisWorkbook.Path & "\" & Arquivo01 & ".xlsm"
With janela
  ActiveWorkbook.Save
  .Display
  .To = Sheets("Base").Range("A2").Value
  .CC = Sheets("Base").Range("A5").Value
  .Subject = "Mapa - Acrilo " & Format(Date, "dd.mm.yy")
   assinatura = .Body
  .HTMLBody = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando as vendas previstas no S&OP." & "<br>" & .HTMLBody
  .Attachments.Add Anexo01
End With
Set xDoc = janela.GetInspector.WordEditor
xDoc.Content.Font.Name = "Calibri"
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Milla,
Le code VBA suivant peut vous aider à changer la police du corps de l'e-mail en Calibri, veuillez l'essayer. Merci.
Avant d'exécuter le code, vous devez cliquer sur Outils > Une référence dans le Microsoft Visual Basic pour applications fenêtre, puis vérifiez la Bibliothèque d'objets Microsoft Word case à cocher dans le Références - VBAProject boîte de dialogue comme le fichier joint ci-dessous.
Sub Geraremail()
Dim OLapp As Outlook.Application
Dim janela As Outlook.MailItem
Dim xDoc As Document 'Click Tools > Reference to enable the Microsoft Word Object Library
On Error Resume Next
Set OLapp = New Outlook.Application
Set janela = OLapp.CreateItem(olMailItem)
Arquivo01 = "Mapa AN"
Anexo01 = ThisWorkbook.Path & "\" & Arquivo01 & ".xlsm"
With janela
  ActiveWorkbook.Save
  .Display
  .To = Sheets("Base").Range("A2").Value
  .CC = Sheets("Base").Range("A5").Value
  .Subject = "Mapa - Acrilo " & Format(Date, "dd.mm.yy")
   assinatura = .Body
  .HTMLBody = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando as vendas previstas no S&OP." & "<br>" & .HTMLBody
  .Attachments.Add Anexo01
End With
Set xDoc = janela.GetInspector.WordEditor
xDoc.Content.Font.Name = "Calibri"
End Sub
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