1
weiß jemand, wie man ein Anhangsobjekt aus VBA entfernt? Ich versuche, eine Anwendung in Excel mit VBA zu tun, so dass E-Mails abhängig von den Daten in der Excel-Datei gesendet werden. In meinem Code unten werden die E-Mails gesendet, die letzte E-Mail enthält jedoch alle Anhänge von den vorherigen. Jede Hilfe wäre willkommen.Erstellen neuer Anhänge 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
Es scheint mir, dass Sie früh bindend und daher einen Verweis auf 'Microsoft Outlook verwenden xx.0 Library' Objekt. Wenn dies der Fall ist, sollten Sie in der VBE automatisch vervollständigen und in der Lage sein, die verschiedenen Optionen für "Mail" einschließlich "Mail.Attachments.Remove" zu sehen. Wenn Sie eine andere Bibliothek für die frühe Bindung verwenden, fügen Sie diese bitte in Ihren Post ein. – Ralph
@Ralph, verwende ich "Microsoft CDO für Windows 2000-Bibliothek". Sollte ich irgendeine andere Referenz verwenden? –
Nein, 'CDO' ist in Ordnung. Schließe es einfach das nächste Mal in deinen Beitrag ein. Ich habe Ihren Beitrag geändert, um die entsprechende * Flagge * einzufügen. Wie auch immer, mit 'CDO' können Sie die folgende Zeile verwenden, um alle Anhänge zu entfernen:' Mail.Attachments.DeleteAll'. – Ralph