1
Кто-нибудь знает, как удалить объект вложения из VBA? Я пытаюсь сделать приложение в Excel с помощью VBA, поэтому он будет отправлять электронные письма в зависимости от данных, найденных в файле excel. В моем коде ниже, электронные письма отправляются, однако последнее электронное письмо содержит все вложения из предыдущих. Любая помощь будет оценена по достоинству.Создать новые вложения Excel-VBA
Private Sub btnSendEmail_Click()
For Counter = 2 To 3
Dim Mail As New Message
Dim Config As New Configuration
Set Config = Mail.Configuration
Config(cdoSendUsingMethod) = cdoSendUsingPort
Config(cdoSMTPServer) = "smtp.gmail.com"
Config(cdoSMTPServerPort) = 465
Config(cdoSMTPAuthenticate) = cdoBasic
Config(cdoSMTPUseSSL) = True
Config(cdoSendUserName) = "[email protected]"
Config(cdoSendPassword) = "test"
Config.Fields.Update
Set curFirstName = Worksheets("Sheet1").Cells(Counter, 1)
Set curLastName = Worksheets("Sheet1").Cells(Counter, 2)
Set curEmail = Worksheets("Sheet1").Cells(Counter, 3)
Set curAttach = Worksheets("Sheet1").Cells(Counter, 4)
Mail.To = curEmail.Value
Mail.From = Config(cdoSendUserName)
Mail.Subject = "This is a test!"
Mail.HTMLBody = "<h1>" & curFirstName.Value & " " & curLastName.Value & "</h1>"
Mail.AddAttachment curAttach.Value
Mail.Send
Next Counter
MsgBox "Sent"
End Sub
Мне кажется, что вы используете раннего связывания и, следовательно, есть ссылка на 'Microsoft Outlook xx.0 Object Library'. Если это так, вы должны иметь автозаполнение в VBE и должны иметь возможность видеть различные опции для «Mail», включая «Mail.Attachments.Remove». Если вы используете другую библиотеку для ранней привязки, пожалуйста, включите ее в свой пост. – Ralph
@Ralph, я использую «Microsoft CDO для Windows 2000 Library». Должен ли я использовать любую другую ссылку? –
Нет, 'CDO' в порядке. Просто включите его в следующий раз в свой пост. Я изменил ваш пост, включив соответствующий флаг *. В любом случае, с помощью 'CDO' вы можете использовать следующую строку для удаления всех вложений:' Mail.Attachments.DeleteAll'. – Ralph