mjgcancio
09-30-2016, 04:02 AM
Hello all.
I'm a new user and a novice/intermediate user of VBA (by the way, I use Excel 2013) and I'm automating an excel spreadsheet in which I need to create an email and send/attach multiple files in Outlook.
The part of the email creation is done but I don't seem to be able to attach multiple files to it. I've tried several codes for it but still haven't found one that worked (or one I could make it work :(). Browsing the web, I found this code and thought that maybe it do the work, but I don't have the knowledge for it.
But is there a way of using a code to attach the files we choose, replacing the msgBox code?
The code I found is:
Sub Main()
'Declare a variable as a FileDialog object.
Dim fd As FileDialog
'Create a FileDialog object as a File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and return the user's action.
'The user pressed the action button.
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is a String that contains the path of each selected item.
'You can use any file I/O functions that you want to work with this path.
'This example simply displays the path in a message box.
MsgBox ("The files are: ") & vrtSelectedItem
Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
End Sub
Do you have any thoughts or ideas, please?
I'm a new user and a novice/intermediate user of VBA (by the way, I use Excel 2013) and I'm automating an excel spreadsheet in which I need to create an email and send/attach multiple files in Outlook.
The part of the email creation is done but I don't seem to be able to attach multiple files to it. I've tried several codes for it but still haven't found one that worked (or one I could make it work :(). Browsing the web, I found this code and thought that maybe it do the work, but I don't have the knowledge for it.
But is there a way of using a code to attach the files we choose, replacing the msgBox code?
The code I found is:
Sub Main()
'Declare a variable as a FileDialog object.
Dim fd As FileDialog
'Create a FileDialog object as a File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant
'Use a With...End With block to reference the FileDialog object.
With fd
'Use the Show method to display the File Picker dialog box and return the user's action.
'The user pressed the action button.
If .Show = -1 Then
'Step through each string in the FileDialogSelectedItems collection.
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem is a String that contains the path of each selected item.
'You can use any file I/O functions that you want to work with this path.
'This example simply displays the path in a message box.
MsgBox ("The files are: ") & vrtSelectedItem
Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With
'Set the object variable to Nothing.
Set fd = Nothing
End Sub
Do you have any thoughts or ideas, please?