Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
748to752
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
748to752
748to752
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

E-Mail mit Anlage versenden

E-Mail mit Anlage versenden
01.04.2006 08:55:29
Uwe
Diesmal sicher eine einfach „dumme“ Frage. Meine Aufgabe lautete, ausschließlich über VBA (Excel) den regelmäßigen Versand einer E-Mail mit Outlook (2003) zu organisieren. Soweit ist das mit dem nachfolgenden Code relativ leicht lösbar:
Attribute VB_Name = "Exportdaten"
Option Explicit

Sub Dispositionsdaten()
On Error GoTo Fehlermeldung
If MsgBox("Möchten Sie die Dispositionsdaten exportieren?", vbYesNo + vbQuestion) = vbNo Then
Exit Sub
End If
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Dim strAttachment As String
Dim strPfad As String
Set olApp = Outlook.Application
Set objMail = olApp.CreateItem(olMailItem)
strPfad = "U:\Dispositionsdaten.xls"
strAttachment = "U:\Dispositionsdaten.xls"
If Dir(strAttachment) = "" Then
MsgBox "Die Exportdatei existiert nicht.", vbCritical, "Abbruch des Datenexports..."
Exit Sub
End If
With objMail
.To = "user@provider.de"
.Subject = "Aktuallisierung der Dispositionsdaten"
.Body = "Die Datenerfassung wurde inzwischen fortgeschrieben. Somit steht eine aktuallisierte Fassung der Dispositionsdaten zur Verfügung Die zugehörige Datei ist als Anlage beigefügt." & Chr(10) & _
"" & Application.UserName
.Display
With .Attachments
.Add strAttachment
End With
End With
Set olApp = Nothing
Set objMail = Nothing
Exit Sub
Fehlermeldung:
MsgBox "Outlook steht offensichtlich nicht zur Verfügung!", vbCritical, "Abbruch des Datenexports..."
End Sub

Wie aber bewerkstellige ich es, das dieser Programmcode, auf einem Rechner ohne Outlook ebenso ausgeführt werden kann, ohne das die Routine bei Dim olApp As Outlook.Application unterbrochen wird?
Der „Fehler“ ist natürlich verständlich, soll aber in diesem Fall über die genannte MsgBox „Fehlermeldung“ ausgegeben werden.
Für rasche Hilfe bin ich natürlich einmal mehr dankbar. Rückmeldung über den „Erfolg“ ist für mich nunmehr selbstverständlich!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: E-Mail mit Anlage versenden
01.04.2006 09:39:26
Ramses
Hallo
und du bist sicher dass dieses Makro unter 2003 läuft, bzw. gelaufen ist ?
Ab EXP wird Outlook als Object angesprochen und E2003 "versteht" die Anweisung
Dim olApp As Outlook.Application
eigentlich gar nicht mehr, auch wenn Outlook installiert ist.
Probiers mal so
Option Explicit

Sub Dispositionsdaten()
    Dim myOutApp As Object, myMail As Object
    Dim strAttachment As String
    Dim strPfad As String
    If MsgBox("Möchten Sie die Dispositionsdaten exportieren?", vbYesNo + vbQuestion) = vbNo Then
        Exit Sub
    End If
    On Error Resume Next
    Set myOutApp = CreateObject("Outlook.Application")
    Set myMail = myOutApp.CreateItem(0)
    If myOutApp Is Nothing Or myMail Is Nothing Then
        MsgBox "Outlook ist nicht installiert"
        Exit Sub
    End If
    On Error GoTo Fehlermeldung
    strPfad = "U:\Dispositionsdaten.xls"
    strAttachment = "U:\Dispositionsdaten.xls"
    If Dir(strAttachment) = "" Then
        MsgBox "Die Exportdatei existiert nicht.", vbCritical, "Abbruch des Datenexports..."
        Exit Sub
    End If
    With myMail
        .To = "user@provider.de"
        .Subject = "Aktuallisierung der Dispositionsdaten"
        .Body = "Die Datenerfassung wurde inzwischen fortgeschrieben. Somit steht eine aktuallisierte Fassung der Dispositionsdaten zur Verfügung Die zugehörige Datei ist als Anlage beigefügt." & Chr(10) & _
            "" & Application.UserName
        .Display
        With .Attachments
            .Add strAttachment
        End With
    End With
    
    ErrorExit:
    Set myOutApp = Nothing
    Set myMail = Nothing
    Exit Sub
    
    
    Fehlermeldung:
    MsgBox Err.Number & ": " & Err.Description
    Resume ErrorExit
End Sub



Gruss Rainer
Anzeige
AW: E-Mail mit Anlage versenden
01.04.2006 10:30:12
Uwe
Hallo Rainer!
Besten Dank für Deine schnelle Hilfe. Das nun wieder hat prima geklappt. Aber, das von mir beschriebene Modul lief bisher unter Excel/Outlook 2003 problemlos. Inzwischen bemerke ich dennoch mehr und mehr, das ich mit meinem bisherigen Wissen nicht ganz auf dem Stand der Dinge bin. Aber hierzu mal ein ganz großes Lob an dieses Forum...
... Hier werden Sie geholfen! Na ja, der Spruch nun wieder, war dann doch stiebitzt!
Besten Dank erst einmal.
Uwe

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige