Hallo ,
abschließend interessehalber hier noch ein Statement zu Deiner Anforderung.
zur Erklärung:
Du kannst so ein Array erstellen, um
mehrere eMails nacheinander zu versenden
emailAddresses = Array("joerg.bergmann@sanha.com","Hein.Bloed@sanha.com")
oder auch ein Array aus einem String erstellen
DIM emailAddresses() as string
emailAddresses =Split("joerg.bergmann@sanha.com;Hein.Bloed@sanha.com",";")
Und anschließend die Versendung des Array in einer Schleife bewerkstelligen.
' E-Mails senden
For i = LBound(emailAddresses) To UBound(emailAddresses)
SendMailWithAttachment name, emailAddresses(i), folderPath & fileName
Next i
Wenn Du Deine Adressen oder auch nur eine Adresse in einer
Variablen bzw. Feld semikolongetrennt hast, kannst Du mit
einer eMail
alle Adressaten erreichen.
DIM emailAddresses as string
emailAddresses = "joerg.bergmann@sanha.com;Hein.Bloed@sanha.com"
Bei einer Variablen kannt Du aber nicht die Schleife nutzen, denn die möchte ja ein Array bzw. Datenfeld dafür hernehmen. Daher bekommst Du auch die Fehlermeldung.
Da Du die Inputbox nutzt, um einen Namen abzufragen, willst Du wahrscheinlich nur eine Mail versenden. Da fallen also Array und Schleife weg. Ein Name bei mehreren eMail-Empfängern macht ja auch wenig Sinn.
Ich würde es einfach so oder so ähnlich machen...
Code:
Sub PDFSpeichernUndVersenden()
Dim folderPath As String
Dim fileName As String
Dim sName As String, sEmpfaenger As String
' Festlegen des Speicherorts
folderPath = "W:\"
' PDF speichern
fileName = "Rückstellungsspiegel SUK.pdf"
ThisWorkbook.Sheets("Übersicht").ExportAsFixedFormat Type:=xlTypePDF, fileName:= _
folderPath & fileName, Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
' Namen abfragen
sName = InputBox("Bitte geben Sie den Namen des Empfängers ein:", "Name eingeben")
sEmpfaenger = "joerg.bergmann@sanha.com"
' eMail erstellen
With CreateObject("Outlook.Application").CreateItem(0)
.GetInspector.Display
.To = sEmpfaenger
.Subject = "Rückstellungsspiegel SUK"
.body = "Hallo " & sName & "," & vbCr & vbCr _
& "anbei der Rückstellungsspiegel der SUK." & vbCr & vbCr _
& "Viele Grüße" & vbCr & "Jörg" & vbCr & .body
If Dir$(folderPath & fileName) <> "" Then
.Attachments.Add folderPath & fileName
End If
' .Send
End With
End Sub
_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz