pdf mailen vanuit mergefield word

Status
Niet open voor verdere reacties.

Martijntj

Gebruiker
Lid geworden
22 apr 2016
Berichten
7
Hallo allemaal,

Ik maak facturen d.m.v. Samenvoegen / mergefield in word met als bron excel.
Deze facturen kijk ik 1 voor 1 na en sla de factuur op met macro als word en als pdf bestand.
Vervolgens ga in mailprogramma het mailadres van klant invoegen en pdf bestand als bijlage.

Mijn vraag: Kan dit niet simpeler? Bijv dat het pdf bestand na dat het is opgeslagen automatisch als
Bijlage word ingevoegd? Of dat het e-mailadres automatisch word ingevoerd vanuit het excel-bestand?

Hoop dat de vraag duidelijk is , en dat iemand een praktische oplossing heeft?

Gr martijn
 
Als je Excel gegevens kloppen, zal je Samenvoegbestand ook kloppen. Tenzij je hele gekke dingen doet met je samenvoeging. Facturen nakijken lijkt mij dus een vorm van werkverschaffing die niet nodig is.
Als je een samenvoeging uitvoert, kun je dat met een macro prima laten splitsen in afzonderlijke documenten die, als je het nauwkeurig inricht, ook nog eens gelijk de goede naam kunnen krijgen. In diezelfde macro kun je de complete samenvoeging ook automatisch mailen. Zeker als je het email adres ook in je Excel bestand hebt zitten.
 
Het 1 voor 1 controleren vind ik wel prettig omdat er nogal wat getallen enz. samengevoegd worden. Ook doe ik nu in het wordbestand de naam en factuurnummer selecteren en daarna kopiëren en na het starten van de macro vraagt het systeem dan om de naam en dan doe ik het geselecteerd plakken zodat elke factuur apart is opgeslagen met Naam en factuurnummer in word en pdf.
Kan iemand mij uitleggen waar ik moet beginnen met het maken van een nieuwe macro. Deze macro moet dan wel het pdf bestand als bijlage in een mail zetten. Of is het ook mogelijk om in word een macro te maken die het pdf bestand ophaalt en het vervolgens in het mailprogramma zet als pdf bestand. Dus 2 afzonderlijke macro's?
 
Heb het volgende gevonden, kan ik dat als basis gebruiken of zitten er te veel foutjes in?

Macro voor Word-bestand als PDF exporteren per mail icm bestandsnaam en geadresseerde







Beste helpers,

Ik ben op zoek naar hulp bij het volgende:

Ik heb online een stukje code gevonden en aangepast als macro in mijn document (een rapport voor studenten)
Deze macro werkt momenteel goed maar wil natuurlijk nét iets meer gemak......

De macro maakt van het doc een pdf (vraagt bestandsnaam en slaat op), opent vervolgens Outlook, voegt als bijlage de pdf toe met een standaardnaam.

Hoe kan ik nu het beste:

1. mogelijk maken dat ik bv. met de Inputbox de naam van het bestand ook als naam van de bijlage krijg? Is dit überhaupt mogelijk?

2. de combinatie met ook direct diezelfde naam als geadresseerde mogelijk maken?

Bij voorbaat dank.

Jaap

Hieronder de macro:

Code:
Sub SendForm()
 '
 MsgBox "Vul hierna de naam van de deelnemer in. Het PDF-bestand is te vinden in de gedeelde mappen", vbInformation, "Belangrijk bericht voor docenten Groen"
 Naam = InputBox("Geef hieronder de naam van het bestand/deelnemer op.", "Toekomstige naam van het PDF-Bestand")

 ChangeFileOpenDirectory "G:\MBO\MBO Groen\Cijferadministratie\2015\Resultatenlijsten van deelnemers in PDF"
 ActiveDocument.ExportAsFixedFormat OutputFileName:=Naam, ExportFormat:= _
 wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
 CreateBookmarks:=wdExportCreateHeadingBookmarks, DocStructureTags:=True, _
 BitmapMissingFonts:=True, UseISO19005_1:=False

 Dim vDoc As Object
 Dim vPath As String
 vPath = ActiveDocument.Path & Application.PathSeparator & "Resultatenoverzicht.pdf"
 ActiveDocument.ExportAsFixedFormat OutputFileName:=vPath, _
 ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
 Item:=wdExportDocumentWithMarkup, IncludeDocProps:=False, KeepIRM:=True, _
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
 BitmapMissingFonts:=True, UseISO19005_1:=False
 Call Mail_Workbook_1(vPath)
 Kill vPath
 End Sub
 Sub Mail_Workbook_1(vPath As String)
 ' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
 ' This example sends the last saved version of the Activeworkbook object .
 Dim OutApp As Object
 Dim OutMail As Object

 Set OutApp = CreateObject("Outlook.Application")
 Set OutMail = OutApp.CreateItem(0)

 On Error Resume Next
 ' Change the mail address and subject in the macro before you run it.
 With OutMail
 .To = ""
 .CC = ""
 .BCC = ""
 .Subject = "Overzicht van resultaten tot nu toe."
 .Body = "Beste deelnemer," & vbNewLine & " " & vbNewLine & "Hierbij jouw resultatenoverzicht tot nu toe." & vbNewLine & " " & vbNewLine & "Heb je vragen over deze mail en de inhoud daarvan? Neem dan contact op met jouw coach." & vbNewLine & " " & vbNewLine & "Met vriendelijke groet,"

 .Attachments.Add vPath
 ' You can add other files by uncommenting the following line.
 '.Attachments.Add ("C:\Resultatenoverzicht")
 ' In place of the following statement, you can use ".Display" to
 ' display the mail.
 .Display
 End With
 On Error GoTo 0

 Set OutMail = Nothing
 Set OutApp = Nothing
 End Sub
Dit staat ook dit forum maar geen reactie. Misschien nu wel?
 
Laatst bewerkt:
Zo Gober dat is een hele mooie manier van fakturen maken. Ik hoop dat ik ooit ook nog eens handig wordt met het maken van zoveel verschillende werkende macro's. Ik heb er alleen niet genoeg verstand van om het in mijn situatie toe te passen.
Ik heb nu dit:
Code:
Sub Macro5()
'
'
'
'
        
        Naam = InputBox("Bestandsnaam? ", "Naam")
    ActiveDocument.SaveAs FileName:=Naam, FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False
        ChangeFileOpenDirectory "C:\Users\bartels\Documents\marcel\fakturen"
        ActiveDocument.ExportAsFixedFormat OutputFileName:=Naam, ExportFormat:= _
        wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
        Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False
        
        Dim vDoc As Object
        Dim vPath As String
        vPath = ActiveDocument.Path & Application.PathSeparator & "fakturen.pdf"
        ActiveDocument.ExportAsFixedFormat OutputFileName:=vPath, _
        ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
        wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
        Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False
        Call Mail_Workbook_1(vPath)
        Kill vPath
        End Sub
        Sub Mail_Workbook_1(vPath As String)
        Dim OutApp As Object
        Dim OutMail As Object
         
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
        
        On Error Resume Next
        With OutMail
        .To = ""
        .Subject = "faktuur mei"
        .Body = "Hallo hierbi een nieuwe faktuur. Bij vragen alstublieft ander ...."
        .Attachment.Add
        .Display
        End With
        On Error GoTo 0
        
        Set OutMail = Nothing
        Set OutApp = Nothing
        End Sub


De factuur word wel opgeslagen en outlook word geopend maar geen bijlage? Ik weet niet waar ik de fout moet vinden en ik denk dat er heel veel regels teveel in staan. Wie heeft oplossing? loopt vast op Kill vPath.
 
Laatst bewerkt:
@Martijntje: code maken we in het forum op met de CODE tags. Gezien de lengte van jouw code snap je wellicht dat de leesbaarheid van jouw code niet best is. Zou je alsnog de code willen opmaken met de juiste tags?
 
Code:
Sub Macro5()
 '
 '
 '
 '

 Naam = InputBox("Bestandsnaam? ", "Naam")
 ActiveDocument.SaveAs FileName:=Naam, FileFormat:= _
 wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
 :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
 :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
 SaveAsAOCELetter:=False
 ChangeFileOpenDirectory "C:\Users\bartels\Documents\marcel\fakturen"
 ActiveDocument.ExportAsFixedFormat OutputFileName:=Naam, ExportFormat:= _
 wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
 BitmapMissingFonts:=True, UseISO19005_1:=False

 Dim vDoc As Object
 Dim vPath As String
 vPath = ActiveDocument.Path & Application.PathSeparator & "fakturen.pdf"
 ActiveDocument.ExportAsFixedFormat OutputFileName:=vPath, _
 ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
 BitmapMissingFonts:=True, UseISO19005_1:=False
 Call Mail_Workbook_1(vPath)
 Kill vPath
 End Sub
 Sub Mail_Workbook_1(vPath As String)
 Dim OutApp As Object
 Dim OutMail As Object

 Set OutApp = CreateObject("Outlook.Application")
 Set OutMail = OutApp.CreateItem(0)

 On Error Resume Next
 With OutMail
 .To = ""
 .Subject = "faktuur mei"
 .Body = "Hallo hierbi een nieuwe faktuur. Bij vragen alstublieft ander ...."
 .Attachment.Add
 .Display
 End With
 On Error GoTo 0

 Set OutMail = Nothing
 Set OutApp = Nothing
 End Sub
 
Helemaal goed :thumb: Nu de overige berichtjes nog aanpassen waar die veel te lange code ook nog in staat :).
 
De berichten zijn aangepast. Ook het gene van Jaap dat ik als basis wilde gebruiken wat ik hier op forum had gevonden. :d
 
Hallo,

Het probleem is niet opgelost. Maar ik doe nu facturen maken in excel met index en vergelijken. Nu loop ik tegen ander probleem. Gebruik nu vba code vandaag ron de bruijn. Moet ik vraag stellen in vba of excel forum?
 
Wat is je vraag precies? Maak je de facturen niet meer in Word? En dus vanuit Excel? Dan kun je inderdaad beter een nieuwe vraag stellen in het Excel forum.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan