Avatar billede tkanto Praktikant
01. marts 2015 - 09:33 Der er 17 kommentarer og
1 løsning

Få Word mail merge til, at sende mails med brødtekst

Hej.

Jeg ønsker, at få Microsoft Word til, at sende en række mails ud for mig.
Jeg er klar over, at dette er muligt ved at bruge mail merging, men mit problem er, at jeg gerne vil sende dokumentet som vedhæftet fil, og evenetuelt gerne vil have flere vedhæftede filer (andre dokumenter) med i samme mail.

Derudover SKAL der være en brødtekst, så der ikke kun er en overskrift i mailen.

Er der nogen der ved noget om hvordan dette kan lade sig gøre? Synes jeg har prøvet alt uden nogen form for held :-(
Avatar billede supertekst Ekspert
01. marts 2015 - 14:10 #1
Hvilken datakilde vil du anvende?
Avatar billede tkanto Praktikant
01. marts 2015 - 14:51 #2
Jeg har en excel-fil med dataene.
Avatar billede supertekst Ekspert
01. marts 2015 - 15:26 #3
Ok - VBA kode i Excel kunne styre det hele.

Hvordan skal det aktuelle dokument og evt. andre vedhæftede dokumenter "komme ind i billedet"?
Avatar billede tkanto Praktikant
01. marts 2015 - 16:51 #4
Jamen jeg har i Excel en liste med adresse mv. på dem der skal modtage mailen fra mig.

Derudover har jeg et word dokument (.docx) der skal sendes som vedhæftet fil og i mailen skal ligeledes vedhæftet 3-4 andre PDF filer.

I selve mailen skal der være en brødtekst alá:

"Til rette vedkommende.

Se vedhæftede filer.

Venlig hilsen"
Avatar billede supertekst Ekspert
01. marts 2015 - 17:06 #5
Ok - kan du arbejder med VBA?
Avatar billede tkanto Praktikant
01. marts 2015 - 17:11 #6
Nej, det er ikke noget jeg har kendskab til - desværre :)
Avatar billede supertekst Ekspert
01. marts 2015 - 17:25 #7
? Er det de samme dokumenter alle modtagere skal have?

Prøver om jeg får tid til at opbygge en model.
Vender tilbage..
Avatar billede tkanto Praktikant
01. marts 2015 - 17:35 #8
Ja, det er det.

Men i headingen skal der stå:

Navn
Adresse
Postnr. & by

Dataene fremgår af excel-arket i henholdsvis kolonne A (navn), B (adresse), C (postnr.) & D (by).

E-mailadressen der skal sendes til fremgår af kolonne E.

Første række i arket er overskrifter.
Avatar billede supertekst Ekspert
02. marts 2015 - 09:42 #9
Hvad der skrives i mailens emnelinje?
Avatar billede tkanto Praktikant
02. marts 2015 - 09:52 #10
Hej.

Der skal gerne stå:

"Uopfordret ansøgning"
Avatar billede supertekst Ekspert
02. marts 2015 - 10:09 #11
Ok..
Avatar billede supertekst Ekspert
02. marts 2015 - 10:54 #12
VBA-koden indlægges under Ark1
(Hvis du sender en mail - så returnerer jeg modellen. @-adresse under min profil)

Option Explicit
Const emne = "Uopfordret ansøgning"

Dim antalRæk As Integer, ræk As Integer
Dim linje As String, navn As String, sti As String
Sub afsendAnsøgning()
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
    sti = ActiveWorkbook.Path
   
    For ræk = 2 To antalRæk
        opbygMail ræk
    Next ræk
End Sub
Sub opbygMail(ræk)
Dim objOutLook, objMail, vedhft
Dim navn As String, adresse As String, postnr As String, by As String, email As String, underskriver
Dim filRæk As Integer

    With ActiveSheet
        navn = .Range("A" & ræk)
        adresse = .Range("B" & ræk)
        postnr = .Range("C" & ræk)
        by = .Range("D" & ræk)
        email = .Range("E" & ræk)
       
        underskriver = .Range("G2")
    End With

    Set objOutLook = CreateObject("Outlook.Application")
    Set objMail = objOutLook.CreateItem(0)
     
    With objMail
        .Subject = emne
        .to = email
        .CC = ""
         
        .body = navn & vbNewLine & adresse & vbNewLine & postnr & " " & by & vbNewLine & vbNewLine & vbNewLine & _
            "Til rette vedkommende" & vbNewLine & vbNewLine & _
                "Se vedhæftede filer" & vbNewLine & vbNewLine & _
                    "Med venlig hilsen" & vbNewLine & vbNewLine & _
                        underskriver
                       
        Set vedhft = .Attachments
       
        For filRæk = 2 To antalRæk
            If ActiveSheet.Range("F" & filRæk) <> "" Then
                vedhft = sti & "\" & ActiveSheet.Range("F" & filRæk)
                .Attachments.Add vedhft
            End If
        Next filRæk
    End With
     
    objMail.send
End Sub
Avatar billede tkanto Praktikant
05. marts 2015 - 19:12 #13
Beklager at jeg først svarer nu.

Jeg har selv sat VBA koden ind i Excel og forsøgt mig frem.

MEN hvis nu jeg skal have en lang række dokumenter, der skal sendes til forskellige personer.

Fx at der til person 1, skal sendes en mail med vedhæftet fil, hvor der i den vedhæftede fil står:

1
Adresse
Post nr By

jeg er klar over at jeg kan bruge mailings i word til dette, og det er heller ikke noget problem.

I række F skriver jeg navnet på den fil der skal vedhæftes.

MEN

Hvis jeg så laver en ny person der hedder 2 og denne skal have en vedhæftet fil, hvor der står:

2
Adresse
Post nr By

så skriver jeg navnet på den fil han skal have tilsendt som vedhæftet fil.

Hvordan undgår jeg, at begge personer modtager begge dokumenter? Som det er lige nu vil alle dem jeg sender til modtage alle de filer der står i hele kolonne G.
Avatar billede supertekst Ekspert
05. marts 2015 - 20:48 #14
Ok -

Så ændre vi det blot til hver modtager har sine ./. i rækken i stedet.

Underskriver navn skal så flyttes.

Kunne det ikke løse problemet?
Avatar billede tkanto Praktikant
05. marts 2015 - 20:52 #15
Jo det lyder sådan.

Der skal gerne være fire vedhæftede filer til hver modtager, hvis det kan lade sig gøre?
Avatar billede supertekst Ekspert
05. marts 2015 - 21:05 #16
Fint - der er plads til lige så mange ./.-filer som du ønsker

Option Explicit
Rem Version 2
Rem =========
Const emne = "Uopfordret ansøgning"

Dim antalRæk As Integer, ræk As Integer, antalKol As Integer
Dim linje As String, navn As String, sti As String
Sub afsendAnsøgning()
    antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
    antalKol = ActiveCell.SpecialCells(xlLastCell).Column
   
    sti = ActiveWorkbook.Path
   
    For ræk = 2 To antalRæk
        opbygMail ræk
    Next ræk
End Sub
Sub opbygMail(ræk)
Dim objOutLook, objMail, vedhft
Dim navn As String, adresse As String, postnr As String, by As String, email As String, underskriver
Dim filKol As Integer

    With ActiveSheet
        navn = .Range("A" & ræk)
        adresse = .Range("B" & ræk)
        postnr = .Range("C" & ræk)
        by = .Range("D" & ræk)
        email = .Range("E" & ræk)
       
        underskriver = .Range("F2")      '<----- ændret
    End With

    Set objOutLook = CreateObject("Outlook.Application")
    Set objMail = objOutLook.CreateItem(0)
     
    With objMail
        .Subject = emne
        .To = email
        .CC = ""
         
        .body = navn & vbNewLine & adresse & vbNewLine & postnr & " " & by & vbNewLine & vbNewLine & vbNewLine & _
            "Til rette vedkommende" & vbNewLine & vbNewLine & _
                "Se vedhæftede filer" & vbNewLine & vbNewLine & _
                    "Med venlig hilsen" & vbNewLine & vbNewLine & _
                        underskriver
                       
        Set vedhft = .Attachments
       
        For filKol = 7 To antalKol      '<--- ændret
            If ActiveSheet.Cells(ræk, filKol) <> "" Then
                vedhft = sti & "\" & ActiveSheet.Cells(ræk, filKol)
                .Attachments.Add vedhft
            Else
                Exit For
            End If
        Next filKol
    End With
     
    objMail.send
End Sub
Avatar billede tkanto Praktikant
06. marts 2015 - 09:06 #17
Hvor skal filerne der skal vedhæftes indsættes?

Hvis fx at person 1 skal modtage filerne:

"1.pdf"
"Bilag.pdf"
"Tekst.docx"

og person 2 skal modtage filerne:

"2.pdf"
"Bilag.pdf"
"Tekst.pdf"
Avatar billede supertekst Ekspert
06. marts 2015 - 09:52 #18
Send en mail - så tilbagesender jeg min model.
@-adresse under min profil.
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