通过Excel发送电子邮件

通过Excel发送电子邮件,excel,vba,gmail,Excel,Vba,Gmail,我有一个我想放弃的项目。 我希望它在出错时自动向我发送邮件。 我在这里尝试使用CDO库,但我不确定它是否是最好的 我有: Private Sub MyErrorHandler() 'Here i save the file to send it next Dim path As String: path = Environ("AppData") + "\Local" Application.DisplayAlerts = False ActiveWorkbook.

我有一个我想放弃的项目。 我希望它在出错时自动向我发送邮件。

我在这里尝试使用CDO库,但我不确定它是否是最好的

我有:

Private Sub MyErrorHandler()
    'Here i save the file to send it next
    Dim path As String: path = Environ("AppData") + "\Local"
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs path & "AI_ErroringFile.xls"
    Application.DisplayAlerts = True

    'Here i create my email
    Dim Cdo_Message As New CDO.Message

    Set Cdo_Message.Configuration = GetSMTPGmailServerConfig()
    With Cdo_Message
        .To = "myadress@yahoo.fr"
        .From = Environ("username") + "@ErrorHandler.com"
        .Subject = "Test"
        .TextBody = "Hello"
        .send
    End With

    Set Cdo_Message = Nothing
End Sub
和我的gmail配置功能:

Function GetSMTPGmailServerConfig() As Object
Dim Cdo_Config As New CDO.Configuration
Dim Cdo_Fields As Object

Set Cdo_Fields = Cdo_Config.Fields
With Cdo_Fields
    .item(cdoSendUsingMethod) = cdoSendUsingPort
    .item(cdoSMTPServer) = "smtp.gmail.com"
    .item(cdoSMTPServerPort) = 465
    .item(cdoSendUserName) = "AIErrorHandler@gmail.com"
    .item(cdoSendPassword) = "mypassword"
    .item(cdoSMTPAuthenticate) = cdoBasic
    .item(cdoSMTPUseSSL) = True
    .Update
End With
但是在
.send
指令中,我有以下错误:
sendusing配置值无效

我使用配置尝试了3种可能的方法,但没有成功


我正在寻找一种方法来解决此问题,或者在不使用outlook的情况下使用vba发送电子邮件

尝试
将CDO_消息设置为对象//设置CDO_消息=创建对象(“CDO.Message”)
?(下面)CreateObject(“CDO.Message”)````出现了相同的错误,我使用的配置与页面上写的完全相同