Wie kann ich per Skript Emails versenden?
08.02.2012
13:26:37 Uhr415 Aufrufe
2 Antworten
13:26:37 Uhr
2 Antworten
Noch nicht bewertet
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.
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 !
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 !
bernd.bestel schreibt am 08.02.2012 um 16:10:09 Uhr
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: ;)
01.
Sub EMailSenden() 02.
Dim oNachricht As Outlook.MailItem 03.
Dim oOutApp As Outlook.Application 04.
Dim sEmailAdresse As String 05.
Dim sBetreff As String 06.
Dim sText As String 07.
08.
If sEmailAdresse = "" Then 09.
MsgBox "Es wurde keine Versandadresse gefunden. Bitte überprüfen Sie Ihre Auswahl.", vbInformation, "Hinweis" 10.
Else 11.
Set oOutApp = New Outlook.Application 12.
Set oNachricht = oOutApp.CreateItem(0) 13.
14.
With oNachricht 15.
If InStr(sEmailAdresse, ";") = False Then 'Es ist nur ein Empfänger angegeben -> versende mit To: 16.
.To = sEmailAdresse 17.
Else 18.
.BCC = sEmailAdresse 'Es sind mehrere Empfänger angegeben -> versende mit BCC: wg. Datenschutz 19.
End If 20.
21.
.Subject = sBetreff 22.
.Body = sText 23.
.Attachments.Add "C:\temp\test.txt" 24.
.Display 25.
End With 26.
End If 27.
End SubBernd
Kleina schreibt am 09.02.2012 um 07:50:36 Uhr
Vielen Dank!
das hat mir sehr weitergeholfen.
Ich bin auch auf eine andere Lösung gestoßen:
kann man diese Funktion nicht auch für andere Dokumente nehmen?
weil dies gilt ja nur für Excel, leider!
das hat mir sehr weitergeholfen.
Ich bin auch auf eine andere Lösung gestoßen:
01.
Sub email() 02.
Application.Dialogs(xlDialogSendMail).Show 03.
End Subkann man diese Funktion nicht auch für andere Dokumente nehmen?
weil dies gilt ja nur für Excel, leider!








