Mon code fonctionnait correctement jusqu'à ce que les pièces jointes apparaissent.Ajout de pièces jointes Outlook dans VBA
Ce que j'essaie de faire.
- Toutes les adresses e-mail sont dans la colonne B.
- Dans la colonne C il y a des chemins de fichiers ainsi que les noms de fichiers à côté de l'adresse e-mail. (C: \ desktop \ test.xlsm)
- J'essaie d'automatiser le processus d'envoi de courriels à ces adresses avec ces pièces jointes. Un formulaire utilisateur apparaît qui invite tout CC, sujet, texte pour les courriels de masse.
Voici le code
Dim SendTo As String
Dim Atmt As String
Dim ToMSg As String
For i = 2 To LastRow
Atmt = ThisWorkbook.Sheets(1).Cells(i, 3).Value
SendTo = ThisWorkbook.Sheets(1).Cells(i, 2)
If SendTo <> "" Then
ToMSg = DraftBox.Value
Send_Mail SendTo, ToMSg
End If
Next i
Unload Me
End Sub
Sub Send_Mail(SendTo As String, ToMSg As String)
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.To = SendTo
.CC = CC.Value
.BCC = BCC.Value
.Subject = Subject.Value
.Body = ToMSg
.attachments.add Atmt
.Send
Je joins le code correspondant. Il ne cesse de me dire que Atmt est vide. S'il vous plaît aider ..
Vous ne l'avez pas inclus en tant que paramètre. – findwindow
pièces jointes? J'ai .. Il me dit qu'aucune source de données n'a été fournie. Mais quand je copie coller le chemin du fichier + nom de fichier, il envoie l'e-mail avec la pièce jointe –
Quelque chose semble manquer ici? 'Sub Send_Mail (SendTo en tant que chaîne, ToMSg As String)' Edit: avez-vous écrit ce code ??? Edit2: manquant de l'appel aussi bien évidemment. – findwindow