• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 435
  • Last Modified:

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

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
bignadad
Asked:
bignadad
  • 5
  • 3
1 Solution
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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
 
bignadadAuthor Commented:
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
 
bignadadAuthor Commented:
oh and i do get the security alert from outlook before it gives me the error...
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
Jeffrey CoachmanMIS LiasonCommented:
<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
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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
 
bignadadAuthor Commented:
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
 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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
 
bignadadAuthor Commented:
It worked that time with the fixed code....

not to try to disable security warning...

thanks for your help :)
0
 
bignadadAuthor Commented:
boag2000's method worked great to bypass security.. thanks
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now