我如何通过电子邮件发送的Excel文件?

问题描述 投票:2回答:3

我要创建并通过电子邮件每月发送一个Excel文件,我的老板。我想用VBA代码来发送文件作为附件,但我的VBA代码不起作用确认后要求进行调试。

我的代码:

Sub EMail() 
ActiveWorkbook.SendMail Recipients:="[email protected]" 
End Sub
excel vba email email-attachments
3个回答
0
投票

这里是如何发送活动工作簿作为附件的例子

Option Explicit
Sub EmailFile()
    Dim olApp As Object
    Dim olMail As Object
    Dim olSubject As String

'   // Turn off screen updating
    Application.ScreenUpdating = False

    Set olApp = CreateObject("Outlook.Application")
    Set olMail = olApp.CreateItem(olMailItem)

    olSubject = "This Subject Line"

    With olMail
        .Display
    End With

    With olMail
        .To = "[email protected]"
        .CC = ""
        .BCC = ""
        .Subject = olSubject
        .HTMLBody = "This Body Text " & .HTMLBody
        .Attachments.Add ActiveWorkbook.FullName
        '.Attachments.Add ("C:\test.txt") ' add other file
'        .Send   'or use .Display
        .Display
    End With

'   // Restore screen updating
    Application.ScreenUpdating = True

    Set olMail = Nothing
    Set olApp = Nothing

End Sub

2
投票

信贷,信用是由于...这是直接从Ron de Bruin网站。

Sub Mail_workbook_Outlook_1()
'Working in Excel 2000-2016
'This example send the last saved version of the Activeworkbook
'For Tips see: https://www.rondebruin.nl/win/s1/outlook/tips.htm
    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
        .to = "[email protected]"
        .CC = ""
        .BCC = ""
        .Subject = "This is the Subject line"
        .Body = "Hi there"
        .Attachments.Add ActiveWorkbook.FullName
        'You can add other files also like this
        '.Attachments.Add ("C:\test.txt")
        .Send   'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

0
投票

您可以使用VBA代码片段如下面的示例所示:

Sub SendEmailWithAttachment() 
 Dim myItem As Outlook.MailItem 
 Dim myAttachments As Outlook.Attachments

 Set myItem = Application.CreateItem(olMailItem) 
 Set myAttachments = myItem.Attachments 
 myAttachments.Add "C:\MyExcelFile.xls", olByValue, 1, "Test"
 myItem.To = "Recipient Address"
 myItem.Send

 'alternatively, you may display the item before sending
 'myItem.Display
End Sub

希望这有助于。

© www.soinside.com 2019 - 2024. All rights reserved.