Solved

Need to Send a Certain amount of pictures as attachments via Email in Access 2010

Posted on 2010-11-28
9
416 Views
Last Modified: 2012-05-10
i am using the following code to generate an email from my form by clicking a button

What i need it this

the txtSearchBAM value will determine what pictures to send

but that value has anywhere from 1 to 15 pictures...

All pictures are located at this address
C:\Users\Addie\Desktop\Droid\Database\

The next folder is the BAM number and then that folder contains the pictures...

how can i make this code send to how many ever pictures are in the specified folder?
Dim objOutlook As Outlook.Application

    Dim objOutlookMsg As Outlook.MailItem

    Dim objOutlookRecip As Outlook.Recipient

    Dim objOutlookAttach As Outlook.Attachment

    Dim TheAddress As String



    Set objOutlook = CreateObject("Outlook.Application")

    

    Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

            Set objOutlookRecip = objOutlookMsg.Recipients.Add(Me![txtSendemail])

    

    With objOutlookMsg

        objOutlookRecip.Type = olTo

        

        .Subject = Me.txtMake.Value & "Pictures From Baker Abilene Machine" ' can be a text box on form

        .Body = "Sending many photos" ' can be a text box on form

        

        Set objOutlookAttach = .Attachments.Add("C:\Users\Addie\Desktop\Droid\Database\" & (Me.txtSearchBAM.Value) & "\1.jpg")

        Set objOutlookAttach = .Attachments.Add("C:\Users\Addie\Desktop\Droid\Database\" & (Me.txtSearchBAM.Value) & "\2.jpg")

        ' repeat for images

        .Send

    End With

    Set objOutlookMsg = Nothing

    Set objOutlook = Nothing

Open in new window

0
Comment
Question by:bignadad
  • 5
  • 3
9 Comments
 
LVL 84
ID: 34226891
You can use the Dir function to loop through:

Dim sFile As String

sFile = Dir("C:\Users\Addie\Desktop\Droid\Database\" & (Me.txtSearchBAM.Value) & "\*.jpg")

Do Until Len(sFile)=0
    .Attachments.Add("C:\Users\Addie\Desktop\Droid\Database\" & (Me.txtSearchBAM.Value) & "\" & sFile)
  Dir
Loop

0
 
LVL 2

Author Comment

by:bignadad
ID: 34226996
Getting this error on the .attachments.Add LINE

Run-time error -2147467259 (80004005)

Cannot create file: 1.jpg. right-click the folder you want to create the file in and then click properties on the shortcut menu to check you permissions for the folder

0
 
LVL 2

Author Comment

by:bignadad
ID: 34226998
oh and i do get the security alert from outlook before it gives me the error...
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 34227822
<No Points wanted>

..."oh and i do get the security alert from outlook before it gives me the error."
This is unrelated to your main question , but I will address it here.

This is the Outlook Automation Security popup.
It can be bypassed by using a product like this:
 http://www.contextmagic.com/express-clickyes/
...Or by using a product that bypassed the entire Oultook Client issue (LSM can tell you more some of these products)

;-)

JeffCoachman
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 84
ID: 34229161
I use vbMAPI from www.everythingaccess.com. It's simple and intuitive, and will take care of the security prompt.

Did you do as the error message suggested and check the Folder permissions? It looks as if you're on a Vista or Win7 box, so be very careful where you place these items. It looks as if you're attempting to "create" a file in some fashion

Check the format of your string. To do that, add this line immediately before your Attachment add line:

Debug.Print C:\Users\Addie\Desktop\Droid\Database\" & (Me.txtSearchBAM.Value) & "\" & sFile

This will print the fully formed string to the Immediate window. Paste that value back here.

0
 
LVL 2

Author Comment

by:bignadad
ID: 34230220
okay, changed my locations around a bit to match what i needed and below is what i have

i get the following error when attempting to send

Run time Error 5
Invalid procedure call or argument
-highlights Dir

IF i remove the Dir i get the following error
run time error 2147467259 (800004005)
the attachment size exceeds the allowable limit
-highlights the attachment line
sFile = Dir("Z:\BAMEQ\" & (Me.txtSearchBAM.Value) & "\*.jpg")



    Do Until Len(sFile) = 0

    .Attachments.Add ("Z:\BAMEQ\" & (Me.txtSearchBAM.Value) & "\" & sFile)

     Dir

    Loop

Open in new window

0
 
LVL 84

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 500 total points
ID: 34230610
Sorry, my brain was rusty this morning:

    Do Until Len(sFile) = 0
    .Attachments.Add ("Z:\BAMEQ\" & (Me.txtSearchBAM.Value) & "\" & sFile)
     sFile = Dir
    Loop

This will take care of the Error 5.

As to your other error, see this post:

http://tsoorad.blogspot.com/2008/01/outlook-attachment-size-error.html

If that doesn't fix it, then I'm not sure there's a lot that can be done. Are you using an Exchange server to manage your email? If so, talk with the person who oversees that to see if there is a setting that could be affecting this.


0
 
LVL 2

Author Comment

by:bignadad
ID: 34230707
It worked that time with the fixed code....

not to try to disable security warning...

thanks for your help :)
0
 
LVL 2

Author Comment

by:bignadad
ID: 34230742
boag2000's method worked great to bypass security.. thanks
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Create high volume marketing opportunities using email signatures with these top 10 DOs and DON'Ts of email signature marketing.
Follow this checklist to learn more about the 15 things you should never include in an email signature from personal quotes, animated gifs and out-of-date marketing content.
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now