2014-07-18 12 views
0

Je suis un peu nouveau à la programmation VBA alors s'il vous plaît, gardez-moi. J'essaie d'automatiser le travail consistant à envoyer par courrier électronique aux chefs de service de mon organisation un courriel standard, mais des notes de service personnalisées. Chaque email envoyé à une certaine personne doit également contenir la pièce jointe correspondante.Impossible d'envoyer la pièce jointe nommée dans la cellule Excel

J'ai une feuille de calcul avec trois colonnes: nom, adresse e-mail, et l'emplacement du fichier que je voudrais attacher dans A, B et C respectivement. Je l'ai représenté du mieux que je peux ci-dessous.

A .................... B .................. C

Nom ............. Email ............ Pièce jointe

John Smith ..... [email protected] ..... Q: \ pliu \ Fichier1

Jane Smith ..... [email protected] ..... Q: \ pliu \ Fichier2

Jimm Smith ..... [email protected] ... ..Q: \ PLIU \ File3

Ceci est le code que j'ai jusqu'à présent, mais je ne peux pas comprendre comment pour attacher le fichier écrit dans la colonne de pièce jointe, car le débogage me donne "Impossible de trouver ce fichier. Vérifiez que le chemin et le nom sont corrects. »

Sub AttachSend() 
    Dim objMail As Outlook.MailItem 
    Dim intX As Integer 
    Dim FileCount As Integer 
    Dim MailAttachment As String 
    Dim MailAddress As String 

    FileCount = Application.WorksheetFunction.CountA(Range("C2:C200")) 

    For intX = 1 To FileCount 

     MailAttachment = Application.Cells(intX, 3).Value 
     MailAddress = Application.Cells(intX, 2).Value 

     Set objMail = Outlook.Application.CreateItem(olMailItem) 

     objMail.Subject = "My subject line" 
     objMail.Body = "My message body" 
     objMail.To = MailAddress 
     objMail.Attachments.Add "MailAttachment" 
     objMail.Send 
     Set objMail = Nothing 

    Next 
End Sub 

Merci à l'avance!

Répondre

3

Retirez les guillemets autour "MailAttachment". Vous voulez utiliser la variable MailAttachment, mais actuellement vous utilisez la chaîne « MailAttachment », qui n'existe bien sûr pas sous la forme d'un fichier sur le disque

MailAttachment = Application.Cells(intX, 3).Value 
    MailAddress = Application.Cells(intX, 2).Value 

    Set objMail = Outlook.Application.CreateItem(olMailItem) 

    objMail.Subject = "My subject line" 
    objMail.Body = "My message body" 
    objMail.To = MailAddress 
    objMail.Attachments.Add MailAttachment `Remove quotes on this line 
+0

Merci d'avoir passé ce bug, je reçois maintenant "Impossible d'ajouter la pièce jointe; je ne sais pas ce que cela veut dire – user3777202

+0

Je ne peux pas vous aider avec ça, j'ai peur (et ce n'était pas la question que vous avez posée ici, ce serait Vous pouvez commencer par Google en tapant le ** message d'erreur exact que vous obtenez, vous pouvez y trouver des informations.) –

+0

Merci, je ferai juste cela! – user3777202

Questions connexes