{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["Recipients","Variables","Instructions"],"not_rendered":{"charts":0,"images":0,"macros":1,"external_links":0,"defined_names":0,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Recipients","index":0,"n_rows":5,"n_cols":7,"rows_kept":5,"cut":false,"hidden":false,"merged":[]}
["TO","CC","BCC","Attachment","<<name>>","<<account>>","<<amount>>"]
["louise@test.com",null,null,null,"Louise",9482,50]
["reuben@test.com",null,null,null,"Reuben",4839,355]
["inga@test.com",null,null,null,"Inga",2934,5000]
["kit@test.com",null,null,null,"Kit",2439,35]

{"sheet":"Variables","index":1,"n_rows":16,"n_cols":2,"rows_kept":16,"cut":false,"hidden":false,"merged":[]}
[null,"Excel Email Sender"]
[null,"Instructions"]
["Configuration:"]
["Send Mode","Display"]
["Signature Mode","Outlook Default"]
["Content"]
["Subject","<<name>>, you owe us money"]
["Greeting","Dear <<name>>,"]
["Body","Your account ending in <<account>> is past due, if you do not pay $<<amount>> by the end of this month we will send bad people to your <<location>>, per our agreement (a copy is attached to this message)."]
["Signature"]
["Attachments"]
["Attachment 1","E:\\attachments\\agreement.txt"]
["Attachment 2"]
["Attachment 3"]
["Variables"]
["<<location>>","nursing home"]

{"sheet":"Instructions","index":2,"n_rows":27,"n_cols":1,"rows_kept":27,"cut":false,"hidden":false,"merged":[]}
["Welcome to sending emails from excel.  Please use this for good, not evil; don't be a spammer."]
["https://elliotmade.com/2020/08/18/mail-merge-alternative-send-outlook-email-from-excel/"]
[]
["1. Select configuration options"]
["Mode: Send will send the emails immediately, Display will create the emails and leave them open for you to view, send, or delete yourself."]
["Signature: Outlook Default will use the default signature configured in outlook, but may execute more slowly.  Excel will use the content in the \"Signature\" cell on the sheet.  If you use the outlook signature your message will also inherit the default font styling there as well."]
["2. Craft the content of your email on the \"Variables\" sheet:"]
["Subject, greeting, body, and signature can be plain text or HTML.  HTML is recommended if you want better control over formatting.  These fields are all optional, but using none of them will make for a very boring email."]
["Insert a \"variable\" in these sections by formatting it like this: \"<<variablename>>\""]
["Each of these \"variables\" will be replaced with a value from either the fixed list on this sheet, or the value from a column in the \"Recipients\" sheet"]
["Attachments must be the full path and filename including the file extension.  Example: \"C:\\attachments\\invoice.pdf\""]
["Add any number of variables to the list."]
["3. Populate the list of recipients"]
["For multiple email addresses separate them each with a semicolon"]
["Any number of \"variable\" columns can be added.  The heading should be the variable that exists in the subject/greeting/body/signature: \"<<variablename>>\""]
[]
[]
[]
["Use the Display mode to test out your message before letting it rip, in case there is a mistake."]
[]
[]
[]
[]
[]
["Notes:"]
["This is version 1, basically a proof of concept.  It is a working example (hopefully), but there is no error handling."]
["Tested with office 2010 and 2013"]