Under Source Data File, click the Select link.In the New Modification dialog box, select Table Field Merge from the Type drop-down menu.
#CAN I DO A MAIL MERGE EXCEL TO EXCEL UPDATE#
Select the Update Word Document activity, and in the Properties Pane, select New under Modifications.Note: If you just want to put the data into the Word document and do not care if it goes into a table, use a simple field merge as in the Bill To area in the image above.
Use the Update Word Document activity to populate that template with the data in the data source into the corresponding headers.
That word document already contains a template of the headers "Item No.," "Description," "Qty," "Unit Price," and "Total Price," as in the image below. You want to put that information into a Word document. Locate the object library in the list and add a check mark to it.Example: You have a data source that contains the item number, description, quantity, price, and total price of ten different items.If you receive a "User-defined type not defined" error, you need to set a reference to another object library. Set a reference to other Object Libraries Open the VBA Editor by pressing Alt+F11 on your keyboard. In older versions look at Tools, Macro Security.Īfter you test the macro and see that it works, you can either leave macro security set to low or sign the macro.
To check your macro security in any Office 2010 application and newer, go to File, Options, Trust Center and open Trust Center Settings, and change the Macro Settings. You can sign the macro when it is finished and change the macro security to notify. You could choose the option Notification for all macros, then accept it each time you restart Outlook, however, because it's somewhat hard to sneak macros into Outlook (unlike in Word and Excel), allowing all macros is safe, especially during the testing phase. The macros will not work with the top two options that disable all macros or unsigned macros. Body = Replace(.Body, "", strAcctMgrName)įirst: You need to have macro security set to the lowest setting, Enable all macros during testing. Set olItem = olApp.CreateItemFromTemplate(appdata & "\Microsoft\Templates\macro-test.oft") 'Set olItem = olApp.CreateItem(olMailItem) 'Create Mail Item and view before sending StrAcctMgrName = xlSheet.Range("F" & rCount)ĪcctMgrEmail = xlSheet.Range("G" & rCount) 'strAttachment = strAttachPath & xlSheet.Range("E" & rCount) StrFirstname = xlSheet.Range("A" & rCount) Set olApp = CreateObject("Outlook.Application")ĭo Until Trim(xlSheet.Range("A" & rCount)) = "" Set olApp = GetObject(, "Outlook.Application") StrAttachPath = enviro & "\Documents\Send\" ' you need to set a reference to Outlook Object Library (Yes, I know, I'm not creative with demo values and prefer to use Excel's features to create demo values.) The finished merge will look like the following. Using unique values allows us to use VBA's Replace function. While you could use standard merge fields or bookmarks, you would need to use the Word Object Library to update the fields. It also sends the message From an address in the worksheet.Ĭreate an Outlook template, entering unique values where the merge fields would be entered. This macro reads values from an Excel worksheet and sends a mail merge, replacing unique values in the Outlook template with values in the worksheet.