[Excel] Datei per Makro versenden.

mic74

Well-known member
ID: 67691
L
3 Januar 2007
109
3
Ich brauche dringend eure Hilfe.
Ich versuche eine komplete excel datei per Email aus einem Makro zu versenden.

Hier mein Problem:
Ich habe nachfolgend aufgeführten Code benutzt.
Den hab ich auch hier aus dem Netz, aber irgendwas muss ich wohl noch ändern. ( Email hab ich schon geändert. )
Bei folgenden Zeilen treten bei mir immer Probleme auf:
Code:
Set MyOutApp = CreateObject("Outlook.Application")
    'Outlook Nachricht erstellen
    Set MyMessage = MyOutApp.CreateItem(0)

Ich arbeite an meinem Laptop mit Outlook Express 6.0. Muss ich da evtl. bei Set MyOuApp was ändern ?

Danke für eure Hilfe.

Gruß
mic

Hier der komplette code:
-------------------------------------------------
Code:
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
    [B]Set MyOutApp = CreateObject("Outlook.Application")[/B]
    '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
 
Zuletzt bearbeitet von einem Moderator:
Outlook Express bietet weder OLE-Interface, noch Makro-Funktionalität. Was du vorhast, ist nicht möglich.