Avatar billede musikjakob Nybegynder
14. december 2009 - 12:02 Der er 6 kommentarer og
1 løsning

Kompliceret spørgsmål om excel/outlook flet med vedhæftede filer

Hej Eksperten.

Jeg sidder og skal sende en masse mails (170) ud til en række kunder. Mit problem er følgende:

Jeg har alle mail adresser i et excel ark.

Hver person skal have en standart mail, men de skal have forskelligt attachment. Kan det lade sig gøre af en omgang, uden at jeg skal ud og oprette 170 seperate mails og vedhæfte 170 filer.

Det skal måske lige siges, at de 170 filer alle sammen er unikke (det er wordfiler)

Mvh. Jakob Ishøy
Avatar billede jkrons Professor
14. december 2009 - 13:34 #1
Hvis du bruger Outlook, bør du kunne bruge noget i denne stil:

Sub SendViaOutlook()
    On Error Resume Next
    Dim olApp As New Outlook.Application
    Dim olNewMail As Object
    Dim Recep As String
    Dim MsgTxt As String
    Dim vedhaeft As String

    Set olApp = GetObject("Outlook.Application")

    For i = 1 To 170
        Recep = Range("B" & i).Value
        vedhaeft = Range("C" & i).Value
        MsgTxt = "Her skal teksten til din mail stå."

        Set olNewMail = CreateItem(olMailItem)

        With olNewMail
            .Recipients.Add Recep
            .Body = MsgTxt
            .Subject = Varenavn
            .Attachments.Add sAttachment
            .ReadReceiptRequested = False
            .OriginatorDeliveryReportRequested = False
            .Save
            .Send
        End With
    Next i
End Sub

Email adresser i B-kolonnen, Sti til vedhæftede filer i C-kolonnen.

For at undgå at skulle klikke Ja til ET program forsøger at sende på dine vegne... 170 gange, bør du nok overveje at installere fx ClickYes eller anden SW som kan det samme.
Avatar billede jkrons Professor
14. december 2009 - 13:35 #2
Rettelse:

Sub SendViaOutlook()
    On Error Resume Next
    Dim olApp As New Outlook.Application
    Dim olNewMail As Object
    Dim Recep As String
    Dim MsgTxt As String
    Dim vedhaeft As String

    Set olApp = GetObject("Outlook.Application")

    For i = 1 To 170
        Recep = Range("B" & i).Value
        vedhaeft = Range("C" & i).Value
        MsgTxt = "Her skal teksten til din mail stå."

        Set olNewMail = CreateItem(olMailItem)

        With olNewMail
            .Recipients.Add Recep
            .Body = MsgTxt
            .Subject = Varenavn
            .Attachments.Add vedhaeft
            .ReadReceiptRequested = False
            .OriginatorDeliveryReportRequested = False
            .Save
            .Send
        End With
    Next i
End Sub
Avatar billede jkrons Professor
14. december 2009 - 13:36 #3
Husk at sætte en reference til MS Outollok under Tools- References.
Avatar billede musikjakob Nybegynder
15. december 2009 - 11:21 #4
Jeg bruger outlook.

Jeg er ret ny i det her, så hvor skal jeg skrive det ind henne? Kan guide mig lidt igennem :)?
Avatar billede jkrons Professor
15. december 2009 - 16:11 #5
Hvilken version af Excel?
Avatar billede musikjakob Nybegynder
26. juli 2010 - 14:44 #6
lukket
Avatar billede overisen Novice
25. september 2011 - 20:23 #7
Jeg ved ikke om vi kan tage spørgsmålet op igen?
Jeg har lagt  den viste makro ind i excel. Det synes at virke ok med hensyn til at sende mails. Tilbage står spørsmålet om at få dannet en flette-fil som vedhæftes i samme makro. De nødvendig oplysninger findes i excel-filen.

vh
sha
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Staten og Kommunernes Indkøbsservice A/S (SKI)

IT-udvikler

Børns Vilkår

IT Supporter (Valby)

Knud E. Hansen A/S

IT-supporter