Add an Attachment Using an Array and Match first 17 Letters to Matching Template .oft to Send eMail

Not open for further replies.


New Member
Outlook version
Outlook 2010 64 bit
Email Account
I've been trying to adapt Diane's code under "Use an Outlook Macro to Send Files by Email" using her array feature, but that array is fixed. I wish to change that fixed array into a variable array, much like the thread "Attachments to New email item" dated Oct 15, 2013. My ultimate goal is to run this as a macro or VBA once a month whereby the code would scan the invoice directory and for every unique invoice (there might be 15 or so), open a separate email using a pre-existing template (.oft) with the same 17 first letters and attach that invoice file and then display it. For example "P010213252 (FC42) YYYYYYYY.pdf" invoice file, then open the corresponding .oft template "P010213252 (FC42) XXXXX.oft". I'm using Outlook 16 under Win 10. I can get the fixed array to work to a certain extent, but the filename attached to each template is always the first .pdf file. I presume I need a second array for the .oft directory. Is there code available that can compare the two directories, one holding the invoices.pdf and the other holding the templates.oft, and if a match is found with the first 17 characters, then open that template .oft and load the matching .pdf file? I've searched but cannot find it. If it exists, please let me know. Thx.

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Because both are files, I think you could get a file name in one folder, look for a match in the other - it would be slower than reading both and creating arrays to compare.

This should read the folder and create an array - (untested, so i might have a typo or mistake) - then use each entry to check the other folder..
Dim FileDir As String
Dim strFiles
FileDir = "K:\Files\"
TemplateDir = "K:\Templates\"
strFiles = Dir(FileDir, vbDirectory)
While strFiles <> ""
If strFiles <> "." And strFiles <> ".." And Right(strFiles, 4) = "docx" Then
strList = Left(strFiles, Len(strFiles) - 5) & "." & strlist
End If
Dim myArray() As String
'Use Split function to return a zero based one dimensional array.
myArray = Split(strList, ",")

or if the template names all use the same format - create a string with the template folder names and if the value in in the arrary is in the string, use it to create the tempate name.

For i = LBound(myArray) To UBound(myArray)
If InStr(LCase(otherFolderList), myArray(i)) Then
templatepath = TemplateDir & myArray(i) & ".dotx"

' do whatever

Next i

Using Arrays in Outlook macros

Attachments to New email item
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
Andrew Quirl Open attachment, manipulate without add-on program? Outlook VBA and Custom Forms 5
Diane Poremsky Add Attachment Names to Message Before Sending Using Outlook 0
D Need to extract a line from a word attachment, and add it to the subject line Outlook VBA and Custom Forms 3
K VBScript Outlook, add attachment Outlook VBA and Custom Forms 1
R Add image within email and not attachment Using Outlook 2
J Is there any restrictions to the number of Attachment i can add? Outlook VBA and Custom Forms 3
M Add-in for verfying recipients email address is in the attachment Outlook VBA and Custom Forms 1
A Attachment not display when add to mail Outlook VBA and Custom Forms 10
P Add inanimate objects to meetings? Using Outlook 1
O Outlook 2010 Add delete button to the side of the message list Using Outlook 1
BartH Add a string to the conditions in .Conditions.BodyOrSubject.Text Outlook VBA and Custom Forms 2
A "Get Add-Ins" - Which Version of Outlook to use Using Outlook 1
D Do I need Exchange Add-In? Using Outlook 6
C-S-R Manage Add-ins (Remove Wunderlist) Using Outlook 6
A iCloud add in problems Using Outlook 4
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 8
C Looking for feedback on new Outlook Add-in Using Outlook 0
L isn't there an OL add-on that flags addressee before sending Using Outlook 3
S Add VBA save code Using Outlook 0
P Shortcut Pane - add shortcut to Office365 group mailbox Using Outlook 1
B Add ComboBox Value to Body of Email Outlook VBA and Custom Forms 1
G How to add a folder shortcut to outlook quick access toolbar? Using Outlook 6
G Add to Outlook Contacts - Point to non-default contacts folder Using Outlook 0
M Automatically add senders first name to a greeting Outlook VBA and Custom Forms 1
C Add Form to Appointments Received, Automatically Outlook VBA and Custom Forms 6
O Outlook tasks - Add text column with multiple lines Using Outlook 3
W April 2020 Office 365 Update - Add-Ons fail after Office 365 Update Using Outlook 6
B Task Filter Not Working When I add too many criteria Using Outlook 0
D Add date next to day name in Outlook Today calendar view Using Outlook 1
D iCloud Add-in not working in Outlook 2013 and Outlook 2016 After Windows Upgrade & iCloud Upgrade Using Outlook 2
P Add Paste Unformatted to QAT Using Outlook 1
M Ignore slow add-ins Using Outlook 0
B Add Prefix text to Subject Line Using Outlook 1
Jennifer Murphy Add birthdays to calendar Using Outlook 7
Z Add text to auto-forwarded e-mail Outlook VBA and Custom Forms 4
P Add, remove, & reorder folder pane Using Outlook 6
L Tired of Outlook disabling Adobe PDF Creator add-in Using Outlook 1
R Add 'Company' to Select Names Form Using Outlook 1
A Outlook 2016 Web add-in missing on some machines Using Outlook 9
P Syncing problems with add-ins Using Outlook 3
Mark Foley Cannot enable add-in in outlook 2010 Using Outlook 0
BretAB Is it possible to add a lookup field to a Message form? Outlook VBA and Custom Forms 4
iwshim outlook 2013 - I cannot see the "Manage Add-ins" Using Outlook 2
A Add multiple servers "on behalf of" email to "safe senders" list. Using Outlook 1
S Add Exchange Account as Secondary to Existing PST? Exchange Server Administration 1
C Macro to add multiple recipients to message Outlook VBA and Custom Forms 3
A Add to Outlook Contacts from email - default view Outlook VBA and Custom Forms 1
P Add a contact to the New Task in Outlook 2016 Using Outlook 2
e_a_g_l_e_p_i Is there a way to add something that is in the "Format Text" tab to the "basic Text" on the message tab Using Outlook 1
B When working on emails in a certain folder, when I hit reply or reply all, I would like it re always reply all and add an email address to send to Outlook VBA and Custom Forms 3

Similar threads