Attach file and send email

Status
Not open for further replies.

jedrei

Member
Outlook version
Outlook 2010 64 bit
Email Account
Exchange Server
i have a bunch of files on a folder and i am looking for a code to attach 1 file and send email one at a time.

E. G. 30 files will send 30 emails with 1 attachment each and move the file to "SENT" folder

C:\ATTACHMENTS\ >>> files stored

C:\ATTACHMENTS\SENT\ >>> files will be moved here if it is already sent
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Description: Use the GetFolder function from the Microsoft Scripting Runtime FileSystemObject to get the Files list. Loop through that list and call for each file using Outlook's CreateItem function to create a new MailItem. Append the file to the MailItem´s Attachment.Add function. Then move the file.

I don't have code that moves the files, but i have this code that sends each file in an email -

Code:
Sub SendFilesinFolder()
   Dim sFName As String
 
   sFName = Dir("C:\Users\Diane\")
   Do While Len(sFName) > 0
     Call SendasAttachment(sFName)
     sFName = Dir
   Loop 
 
End Sub 
 
Function SendasAttachment(fName As String) 
 
Dim olApp As Outlook.Application 
 
Dim olMsg As Outlook.MailItem 
 
Dim olAtt As Outlook.Attachments 
 
Set olApp = Outlook.Application 
 
Set olMsg = olApp.CreateItem(0) ' email 
 
Set olAtt = olMsg.Attachments 
 
' attach file 
 
olAtt.Add ("C:\Users\Diane\" & fName) 
 
' send message 
 
With olMsg
 .Subject = "Here's that file you wanted"
 .To = "alias@domain.com"
 .HTMLBody = "Hi " & olMsg.To & "," & vbCrLf & "Attached is " & fName & " you requested."
 .Send 
 
End With 
 
End Function
 

suhasjose

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Thank yo uso much for this code! I had been using this for th epast 2 months which helped me to save a lot of time. Recently I came across a new scenario.. I need to attach all the files begining with same file name to a single email. For example; My folder contains 20 files. 5 of them have unique names (say 1 - 5) and they should go in five emails.Rest of the files have the same name and an extention (100,100#1,100#2, 200,200#1,200#2,200#3). Is there any way that I can attach all the files with which has same name before"#" into a single email?!

Thanks again for your help!
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
It's doable. The do while / loop is moved to the function... it won't loop through looking for all the 100's, then all the 200's - you'll need to run it for each set of files. If you routinely use the same set of filenames, you could use an array to loop through them and do it in one step.

Code:
Sub SendFilesbyEmail() 
 
Call SendFiles("C:\Users\diane\Test\") 
 
End Sub 
 
Function SendFiles(fldName As String) 
 
Dim fName As String 
 
Dim strName As String 
 
Dim sAttName As String 
 
Dim olApp As Outlook.Application 
 
Dim olMsg As Outlook.MailItem 
 
Dim olAtt As Outlook.Attachments 
 
Set olApp = Outlook.Application 
 
Set olMsg = olApp.CreateItem(0) ' email 
 
Set olAtt = olMsg.Attachments 
 
fName = Dir(fldName) 
 
strName = InputBox("First 3 characters in filename?")
Do While Len(fName) > 0
 If Left(fName, 3) = strName Then
   olAtt.Add fldName & fName
   sAttName = fName & "<br /> " & sAttName
  End If
 Debug.Print fName
  fName = Dir 
 
Loop 
 
' send message 
 
With olMsg
 .Subject = "Here's that file you wanted"
 .To = "alias@domain.com"
 .HTMLBody = "Hi " & olMsg.To & ", <br /><br /> I have attached <br /> " & sAttName & "as you requested."
 .Display 
 
End With 
 
End Function

I added this code to Macro to send files by email
 

suhasjose

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Thanks a lot for replying!

The only problem that I would face here is - I do not know the file names in the folders! That can be any name. Not a specific set of names since multiple people use to save files there.. How can I have a solution for this? Should I get a list of the file names first?!

Thanks&Regards
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
With enough code, you could get the file names and sort by name and totally automate it. But it's more code than I have time for and I don't have any snippets handy that come close to doing that.

You'll could read the folder to get a list of file names then work with the list - you can use either vba or windows scripting host to bring it up.
 

suhasjose

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Okay! I will try to chase it using your hints! This is going to be a good learning for me!

Thanks a lot for you help and guidance:)
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
I'm pretty sure there are some snippets of VBA or windows script/ vbscipt laying around the interwebs that will get a list of the files.
 

suhasjose

Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
I found some scripts in internet and combined everything together after making a few changes.. It works perfect now! The only problem that I face now is it skips file names if the name begins with a zero.

Thanks again Diane for your assistance..

---------------------------Dim strName As String

Sub SendFilesbyEmail()

Call ReadFiles("C:\Users\Test\")

End Sub

Function SendFilesArray(fldName As String)

Dim olApp As Outlook.Application

Dim olMsg As Outlook.MailItem

Dim olAtt As Outlook.Attachments

Dim fName As String

Dim sAttName As String

Dim arrName As Variant

Set olApp = Outlook.Application

'arrName = Array("2012", "2013", "2014")

' Go through the array and look for a match, then do something

'For i = LBound(arrName) To UBound(arrName)
'strName = arrName(i)

Set olMsg = olApp.CreateItem(0) ' email

Set olAtt = olMsg.Attachments

fName = Dir(fldName)


Do While Len(fName) > 0
If Left(fName, Len(strName) - 4) = Left(strName, Len(strName) - 4) Then
olAtt.Add fldName & fName
sAttName = fName & "<br /> " & sAttName
End If
'Debug.Print fName
fName = Dir

Loop

' send message

With olMsg
.Subject = "Here's that file you wanted" & fName
.To = "alias@domain.com"
.HTMLBody = "Hi " & olMsg.To & ", <br /><br /> I have attached <br /> " & sAttName & "as you requested."
.Display

End With

sAttName = ""

'Next i

End Function

Function ReadFiles(MyFile As String)

Dim Counter As Long

ReDim DirectoryListArray(1000)

MyFile = Dir$(MyFile)

Do While MyFile <> "" And InStr(1, MyFile, "#") = 0
DirectoryListArray(Counter) = MyFile
MyFile = Dir$
Counter = Counter + 1


Loop

ReDim Preserve DirectoryListArray(Counter - 1)

For Counter = 0 To UBound(DirectoryListArray)

strName = DirectoryListArray(Counter)
Debug.Print strName
Call SendFilesArray("C:\Users\Test\")

Next Counter

End Function
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
V Pin a document to the "Attach file" Recent Documents list Using Outlook 0
I Outlook 365 - import/attach PST file that used POP3 Using Outlook.com accounts in Outlook 0
A Order of Recent Items in Attach File List Using Outlook 5
M Same file "stuck" on top of file list in "Attach File" drop down Using Outlook 4
T Attach Current File to a new Email Using Outlook 0
P Macro to attach a file in a shared Outlook draft folder Outlook VBA and Custom Forms 2
T Outlook 2016 mp3 attach "this file cannot be preview because there is no previewer installed for it" Using Outlook 1
T Outlook's button 'Attach File' does not work Outlook VBA and Custom Forms 7
M Files in "Attach File" popup menu no longer alphabetical Using Outlook 3
N How to attach a file with MS Outlook, from a program? Outlook VBA and Custom Forms 3
S Re: Cannot attach a file to an Outlook 2007 template after installingOffice 2007 SP2 Outlook VBA and Custom Forms 3
B disappearing original when attach to email Using Outlook 1
B VBA to convert email to task, insert text of email in task notes, and attach copy of original email Outlook VBA and Custom Forms 4
M Macro to attach last 2 items downloaded Outlook VBA and Custom Forms 5
Diane Poremsky Use a Macro to Attach Files to New Messages New Slipstick.com Articles 0
C Outlook Custom Contact Form Attach Files in new notes fields Outlook VBA and Custom Forms 3
B Outlook will not attach using Send To Feature Using Outlook 0
C Business Con Mgr - E-mail blast, to have a 'CC' as well as attach a document.. Exchange Server Administration 0
L Can't attach files in Outlook 2007 Using Outlook 2
M Can't attach filesd to email as no symbol Using Outlook 7
T Unable to attach message as an attachment in outlook Using Outlook 5
J Problem using drag and drop to attach an html email in Outlook 2010 Using Outlook 18
G Task / Insert / Attach Item / Business Contact BCM (Business Contact Manager) 1
K Attach addin to outlook 2007 editor Outlook VBA and Custom Forms 3
G Tasks - convert email to task & attach email Outlook VBA and Custom Forms 6
L outlook 2007 attach multiple journals to same contact Outlook VBA and Custom Forms 2
B I want to be able to associate or attach e-mails to an account BCM (Business Contact Manager) 1
R Problem moving file “Email folders.pst” to new PC Using Outlook 5
B vBA for exporting excel file from outlook 2016 Outlook VBA and Custom Forms 3
D Outlook 2016 Unable to load Outlook data pst file Using Outlook 5
K Need to convert .mmf file to .pst format Outlook VBA and Custom Forms 7
S save attachment with date & time mentioned inside the file Outlook VBA and Custom Forms 0
E Having some trouble with a run-a-script rule (moving mail based on file type) Outlook VBA and Custom Forms 5
B Can I create a local PST file for SPAM on a drive that is usually disconnected? Using Outlook 3
C Macro to extract sender name & subject line of incoming emails to single txt file Outlook VBA and Custom Forms 3
P Outlook pst file is too huge with POP3. How to save more space? Using Outlook 4
G Cannot Move Autocomplete File to New Computer Using Outlook 15
B Outlook 2013 erratically deleting original file that is attached Using Outlook 0
M Deleting attachments does not reduce file size Using Outlook 0
P PST file is getting huge under POP 3 Using Outlook 2
I Saving attachments from multiple emails and updating file name Outlook VBA and Custom Forms 0
F Script for zip file attachment Outlook VBA and Custom Forms 1
M Export-Import .pst file problems Using Outlook 2
L Cannot open PST file for first session each day Using Outlook 6
L How to Import Exchange OST file into Outlook? Using Outlook 3
J Outlook 2010 Changing events in Outlook calendar via opening file, importing CSV Using Outlook 0
C Can't create Outlook data file Outlook Wishlist 0
S What's in a PST file? Using Outlook 1
S automate save the .xlxs file to share Network Using Outlook 1
L Outlook Office 365 client: won't remember my setting File, not to collapse ribbon Using Outlook 2

Similar threads

Top