OK, you should be able to do this with the Outlook object model.
Where do you have the e-mail addresses, in Outlook Contacts? How about naming the folders with the contact's first and last names separated by a space. Make them all subfolders of a Reports folder.
You can use the FileSystemObject (set a project reference to Microsoft Scripting Runtime) to get a reference to the Reports folder and loop through its subfolders collection. For each subfolder, parse the first and last names and use the Find method of contact items to return the contact.
Here's a rough idea, I'm just typing this in so please excuse any errors
Dim objApp As Outlook.Application
Dim objNS As Namespace
Dim objFSO As FileSystemObject
Dim objRoot As Folder
Dim objFolder As Folder
Dim objFile As File
Dim objContFldr As MAPIFolder
Dim objContact As ContactItem
Dim objMsg As MailItem
Dim objRecip As Recipient
Dim strFirstName As String
Dim strLastName As String
Dim strCond As String
'Get the contacts folder
Set objApp = New Outlook.Application
Set objNS = objApp.GetNamespace("MAPI"

Set objContacts = objNS.GetDefaultFolder(olFolderContacts)
Set objFSO = New FileSystemObject
Set objRoot = objFSO.GetFolder("X:\Reports"

For Each objFolder In objRoot.SubFolders
'Move thro the subfolders, parse the name
strFirstName = Left$(objFolder.Name, _
Instr(1, objFolder.Name, " "

- 1)
strLastName = Right$(objFolder.Name, _
Len(objFolder.Name) - Instr(1, objFolder.Name, " "

)
'Return the matching contact
Set objContact = Nothing
strCond = "[FirstName] = """ & strFirstName & """ _
and [LastName] = """ & strLastName & """"
Set objContact = objContFldr.Items.Find(strCond)
If Not objContact Is Nothing
'Create the e-mail
Set objMsg = objApp.CreateItem(olMailItem)
With olMailItem
'Add the recipient
Set objRecip = .Recipients.Add(objContact.Email1Address)
objRecip.Type = olTo
objRecip.Resolve
.Subject = "Monthly reports"
.Body = "blah blah blah"
'Add a couple of blank lines before adding attachments
.Body = .Body & vbCrLf & vbCrLf
'Add the attachments
For Each objFile in objFolder.Files
.Attachments.Add objFile.Name
Next
.Send
End With
End If
Next
'Set all object refs to Nothing
Paul Bent
Northwind IT Systems