How to: Programmatically attach files to Outlook email items
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
This example attaches a file to a new mail item and sends it to Armando Pinto. The example assumes a person named Armando Pinto exists as the recipient.
Applies to: The information in this topic applies to VSTO Add-in projects for Outlook. For more information, see Features available by Office application and project type.
Example
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
AddAttachment();
}
private void AddAttachment()
{
Outlook.MailItem mail =
this.Application.CreateItem
(Outlook.OlItemType.olMailItem)
as Outlook.MailItem;
mail.Subject = "An attachment for you!";
OpenFileDialog attachment = new OpenFileDialog();
attachment.Title = "Select a file to send";
attachment.ShowDialog();
if (attachment.FileName.Length > 0)
{
mail.Attachments.Add(
attachment.FileName,
Outlook.OlAttachmentType.olByValue,
1,
attachment.FileName);
mail.Recipients.Add("Armando Pinto ");
((Outlook._MailItem)mail).Send();
}
}
Private Sub ThisAddIn_Startup(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Startup
AddAttachment()
End Sub
Private Sub AddAttachment()
Dim mail As Outlook.MailItem = _
TryCast(Me.Application.CreateItem _
(Outlook.OlItemType.olMailItem), _
Outlook.MailItem)
mail.Subject = "An attachment for you!"
Dim attachment As OpenFileDialog = _
New OpenFileDialog()
attachment.Title = "Select a file to send"
attachment.ShowDialog()
If attachment.FileName.Length > 0 Then
mail.Attachments.Add( _
attachment.FileName, _
Outlook.OlAttachmentType.olByValue, _
1, _
attachment.FileName)
mail.Recipients.Add("Armando Pinto")
mail.Send()
End If
End Sub