bin absoluter VBA-Neuling habe jedocg per google unten stehendes Makro gefunden.
Es hilft mir jedoch nur zum Teil. Ich möchte eine Arbeismappe (welche mehrere Sheets enthält) und mit vielen Verknüpfungen befüllt ist als Versanddatei ohne diese Verknüpfungen erstellen und per Knopfdruck versenden. Kann mir da jemand helfen?
Vielen lieben Dank schon mal im Voraus für jeglich Antworten. Und hier das Makro:
Datei - Senden an - E-Mail-Empfänger
Option Explicit
Sub Excel_Workbook_via_Outlook_Senden()
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim AWS As String
'Testen ob die aktuelle Mappe schon gespeichert wurde
If ThisWorkbook.Saved = False Then
'Die letzten Änderungen wurden noch nicht gespeichert
Qe = MsgBox("Diese Mappe wurde noch nicht gespeichert, und kann nicht versandt werden!" _
_
_
& Chr$(13) & "Soll die Datei gespeichert werden?", vbInformation + vbYesNo, " _
Sendefehler")
If Qe = vbNo Then
'Abbruch durch Benutzer
MsgBox "Sendevorgang abgebrochen"
Exit Sub
Else
'Prüfen ob die Datei schon mal gespeichert wurde
If Right(ThisWorkbook.Name, 3) "xls" Then
'Nein > Speicherdialog aufrufen
Application.Dialogs(xlDialogSaveAs).Show
Else
'Speichern
ThisWorkbook.Save
End If
End If
End If
'Aktive Arbeitsmappe wird als mail gesendet
'Übergabe des Mappennames an die Variable
AWS = ThisWorkbook.FullName
'Outlook Object erstellen
Set MyOutApp = CreateObject("Outlook.Application")
'Outlook Nachricht erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
'Empfänger
.To = "irgendwer@provider"
'Betreff
.Subject = "Testmeldung von Excel2000 " & Date & Time
.Attachments.Add AWS
'Hier wird ein normaler Text erstellt
.Body = "Mail für normalen Textempfang"
'Hier wird eine HTML Mail erstellt
'Dies kann zu Problemen führen, wenn der Empfänger
'nur TEXT Dateien empfangen darf.
'.HTMLBody = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
'.Send
End With
'Outlook schliessen
MyOutApp.Quit
'Variablen leeren
Set MyOutApp = Nothing
Set MyMessage= Nothing
End Sub
Falls es nicht zuviel ist, könnte man den ersten Teil nicht auch weglassen (Speicherabfrage?)
Vielen Dank noch Mal!
Niko