Wie kann ich per Skript Emails versenden?
Hallo Zusammen,
ich würde gerne per skript ( Makro, VBA) eine offene Datei, TIFF, PDF als Anhang per Mail senden.
Ich würde gerne per skript ( Makro, VBA) eine offene Datei, TIFF, PDF als Anhang per Mail senden.
dabei soll in Outlook eine neue Email geöffnet werden und die offene Datei als Anhang eingefügt werden.
Der Empfänger, Betreff etc. soll manuell in dem Email Formular in Outlook angegeben werden.
Zum Problem ist noch zu sagen das ich ein sozusagen Archiv benutzte, welches Dokumente enthält (diese wurden eingescannt).
diese Dokumente sind als TIFF-Datei hinterlegt.
wenn ich mir also ein Dokument anschaue, soll genau das in Outlook exportiert werden.
Bisher habe ich folgendes geschafft:
Sub EMailSenden()
Dim oNachricht As Object
Dim oOutApp As Object
Dim sEmailAdresse As String
Dim sBetreff As String
Dim sText As String
If sEmailAdresse = "" Then
MsgBox "Es wurde keine Versandadresse gefunden. Bitte überprüfen Sie Ihre Auswahl.", vbInformation, "Hinweis"
Else
Set oOutApp = CreateObject("Outlook.Application")
Set oNachricht = oOutApp.CreateItem(0)
With oNachricht
If InStr(sEmailAdresse, ";") = False Then 'Es ist nur ein Empfänger angegeben -> versende mit To:
.To = sEmailAdresse
Else
.BCC = sEmailAdresse 'Es sind mehrere Empfänger angegeben -> versende mit BCC: wg. Datenschutz
End If
.Subject = sBetreff
.Body = sText
.Display
.Application.Dialogs(xlDialogSendMail).Show
End With
End If
Exit Sub
End Sub
nur leider funktioniert dies nicht und ich kann mir nicht erklären wieso.
Ich hoffe jemand kann mir da weiterhelfen
Vielen Dank schonmal !
ich würde gerne per skript ( Makro, VBA) eine offene Datei, TIFF, PDF als Anhang per Mail senden.
Ich würde gerne per skript ( Makro, VBA) eine offene Datei, TIFF, PDF als Anhang per Mail senden.
dabei soll in Outlook eine neue Email geöffnet werden und die offene Datei als Anhang eingefügt werden.
Der Empfänger, Betreff etc. soll manuell in dem Email Formular in Outlook angegeben werden.
Zum Problem ist noch zu sagen das ich ein sozusagen Archiv benutzte, welches Dokumente enthält (diese wurden eingescannt).
diese Dokumente sind als TIFF-Datei hinterlegt.
wenn ich mir also ein Dokument anschaue, soll genau das in Outlook exportiert werden.
Bisher habe ich folgendes geschafft:
Sub EMailSenden()
Dim oNachricht As Object
Dim oOutApp As Object
Dim sEmailAdresse As String
Dim sBetreff As String
Dim sText As String
If sEmailAdresse = "" Then
MsgBox "Es wurde keine Versandadresse gefunden. Bitte überprüfen Sie Ihre Auswahl.", vbInformation, "Hinweis"
Else
Set oOutApp = CreateObject("Outlook.Application")
Set oNachricht = oOutApp.CreateItem(0)
With oNachricht
If InStr(sEmailAdresse, ";") = False Then 'Es ist nur ein Empfänger angegeben -> versende mit To:
.To = sEmailAdresse
Else
.BCC = sEmailAdresse 'Es sind mehrere Empfänger angegeben -> versende mit BCC: wg. Datenschutz
End If
.Subject = sBetreff
.Body = sText
.Display
.Application.Dialogs(xlDialogSendMail).Show
End With
End If
Exit Sub
End Sub
nur leider funktioniert dies nicht und ich kann mir nicht erklären wieso.
Ich hoffe jemand kann mir da weiterhelfen
Vielen Dank schonmal !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 180230
Url: https://administrator.de/contentid/180230
Ausgedruckt am: 31.10.2024 um 10:10 Uhr
2 Kommentare
Neuester Kommentar
Hi,
hättest du die Objekte mal "typsicher" deklariert, hättest du gemerkt, dass ein Objekt vom Typ "Outlook.Application" kein Methode "Application.Dialogs..." hat... ;)
Beispiel, das funktioniert: ;)Viele Grüße,
Bernd
hättest du die Objekte mal "typsicher" deklariert, hättest du gemerkt, dass ein Objekt vom Typ "Outlook.Application" kein Methode "Application.Dialogs..." hat... ;)
Beispiel, das funktioniert: ;)
Sub EMailSenden()
Dim oNachricht As Outlook.MailItem
Dim oOutApp As Outlook.Application
Dim sEmailAdresse As String
Dim sBetreff As String
Dim sText As String
If sEmailAdresse = "" Then
MsgBox "Es wurde keine Versandadresse gefunden. Bitte überprüfen Sie Ihre Auswahl.", vbInformation, "Hinweis"
Else
Set oOutApp = New Outlook.Application
Set oNachricht = oOutApp.CreateItem(0)
With oNachricht
If InStr(sEmailAdresse, ";") = False Then 'Es ist nur ein Empfänger angegeben -> versende mit To:
.To = sEmailAdresse
Else
.BCC = sEmailAdresse 'Es sind mehrere Empfänger angegeben -> versende mit BCC: wg. Datenschutz
End If
.Subject = sBetreff
.Body = sText
.Attachments.Add "C:\temp\test.txt"
.Display
End With
End If
End Sub
Bernd