Benutzer mit den meisten Antworten
Suche den besten Weg zum Generieren einer Mail mit Anhängen ...

Frage
-
Meine Access-Anwendung erstellt codegesteuert verschiedene Berichte, und Word-Dokumente die als PDF ausgegeben werden, dann mit einem Tool zu EINEM PDF zusammengesetzt und gemailt werden sollen. Der Access-Code befüllt übrigens Word-Formulare.
Dazu verwende ich folgenden Code:
' jetzt eine Sammelmail erstellen! Dim outl As New Outlook.Application Dim mailIt As Outlook.mailitem Dim mailAtt As Outlook.Attachments Dim mailRec As Outlook.Recipient Set outl = CreateObject("Outlook.application") Set mailIt = outl.CreateItem(olMailItem) Set mailAtt = mailIt.Attachments mailIt.Subject = "Gesammelte Unterlagen für Aufträge" tmpBodystr = " Bitte die beigefügten Dokumente archivieren/ausdrucken: " For Each var In Me.zukünftige_untersuchungstermine_lst.ItemsSelected tmpBodystr = tmpBodystr & vbCrLf tmpBodystr = tmpBodystr & Me.zukünftige_untersuchungstermine_lst.Column(1, var) & " " tmpBodystr = tmpBodystr & Me.zukünftige_untersuchungstermine_lst.Column(2, var) & " " tmpBodystr = tmpBodystr & Me.zukünftige_untersuchungstermine_lst.Column(4, var) & " " tmpBodystr = tmpBodystr & Me.zukünftige_untersuchungstermine_lst.Column(5, var) Next Set mailRec = mailIt.Recipients.Add(<EMAILADRESSE>)
Es folgen noch einige Zeilen Code, mit dem die Anhänge angefügt und das Ganze gesendet wird.
Problematisch ist die letzte Code-Zeile "Set mailRec ....". Diese verursacht eine Fehlermledung sobald Outlook zum Zeitpunkt der Code-Ausführung noch geschlossen ist. Starte ich dann Outlook, kann der Code fehlerfrei ausgeführt werden.
Möglicherweise ist die Art un Weise der Email_generierung nicht besonders glücklich.
Hat jemand eine bessere Idee ?
Antworten
-
Ich selber benutze
http://www.vbarchiv.net/download/details.php?id=237
dann bin ich frei von Outlook ...
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
-
Am 03.04.2012 schrieb NicoNi:
Problematisch ist die letzte Code-Zeile "Set mailRec ....". Diese verursacht eine Fehlermledung sobald Outlook zum Zeitpunkt der Code-Ausführung noch geschlossen ist. Starte ich dann Outlook, kann der Code fehlerfrei ausgeführt werden.
Möglicherweise ist die Art un Weise der Email_generierung nicht besonders glücklich.Versende direkt über einen Mailserver:
http://www.g-st.ch/privat/freeware/smtpsend.html
http://www.freevbcode.com/ShowCode.asp?ID=109Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Reg2xml: http://www.reg2xml.com - Registry Export File Converter- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
-
Hallo,NicoNi wrote:> Scheint ein grundsätzliches Problem von Outlook zu sein.Erstmal solltest du probieren, Outlook manuell zu starten, um zu sehen, obder Start auch ohne weiteres funktioniert. Z.B. werden Login-Datenabgefragt, gibt es ein gueltiges Profil usw.> Ich werde die verschiedenen Optionen ausprobieren.Probier auch mal, das New in der Deklaration wegzulassen:
Dim outl As Outlook.Application
> Ggf käme auch noch CDO über den eigentlichen Exchange infrage.Das solltest du bleiben lassen. Bis 2003 war es so, dass man beiOL-Automation ClickYes brauchte, da OL immer vom Schlimmsten ausging undpro Mail eine Bestaetigung per Mausklick verlangte.Seit 2007 wird geprueft, ob ein gueltiger/aktueller Virencheckerinstalliert ist, und wenn ja, geht die Mail ohne Rueckfrage durch. Das giltaber _nur_ fuer OL-Automation, nicht fuer CDO und Mapi. In diesen Faellenhilft auch ClickYes nur noch begrenzt, denn es laeuft pro Mail ein Timervon IIRC 5 sec. rueckwaerts, bevor der Yes-Button geklickt werden kann.Gruss - Peter--Mitglied im http://www.dbdev.org- Bearbeitet Peter DoeringMVP, Moderator Mittwoch, 4. April 2012 10:31 Formatierung
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
-
Hallo NicoNi
Dir fehlt eine Zeile, die die Session in Outlook anmeldet (das macht Outlook nur automatisch, wenn es direkt gestartet wird). Zudem solltest Du nur ein Outlook.Application objekt erstellen, wenn es noch keines gibt, sonst das bestehende benutzen. (macht OL allerdings (meist) auch automatisch)
NicoNi wrote:
Set outl = CreateObject("Outlook.application")
On Error Resume Next
Set outl = GetObject(, "Outlook.Appliation")
If Err Then
'hier noch den üblichen Error Handler wieder einsetzen, z.B.
' On Error GoTo PROC_ERR
Set outl = CreateObject("Outlook.Application")
outl.Session.Logon 'dies hast Du vergessen
End If
'hier erneut den üblichen Error Handler wieder einsetzen, z.B.
' On Error GoTo PROC_ERRSet mailIt = outl.CreateItem(olMailItem)
Set mailAtt = mailIt.AttachmentsHTH
Henry- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
- Tag als Antwort aufgehoben NicoNi Dienstag, 24. April 2012 08:26
- Als Antwort markiert NicoNi Dienstag, 24. April 2012 08:26
Alle Antworten
-
Ich selber benutze
http://www.vbarchiv.net/download/details.php?id=237
dann bin ich frei von Outlook ...
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
-
Am 03.04.2012 schrieb NicoNi:
Problematisch ist die letzte Code-Zeile "Set mailRec ....". Diese verursacht eine Fehlermledung sobald Outlook zum Zeitpunkt der Code-Ausführung noch geschlossen ist. Starte ich dann Outlook, kann der Code fehlerfrei ausgeführt werden.
Möglicherweise ist die Art un Weise der Email_generierung nicht besonders glücklich.Versende direkt über einen Mailserver:
http://www.g-st.ch/privat/freeware/smtpsend.html
http://www.freevbcode.com/ShowCode.asp?ID=109Servus
Winfried
Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
GPO's: http://www.gruppenrichtlinien.de
Community Forums NNTP Bridge: http://communitybridge.codeplex.com/
Reg2xml: http://www.reg2xml.com - Registry Export File Converter- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
-
Hallo,NicoNi wrote:> Scheint ein grundsätzliches Problem von Outlook zu sein.Erstmal solltest du probieren, Outlook manuell zu starten, um zu sehen, obder Start auch ohne weiteres funktioniert. Z.B. werden Login-Datenabgefragt, gibt es ein gueltiges Profil usw.> Ich werde die verschiedenen Optionen ausprobieren.Probier auch mal, das New in der Deklaration wegzulassen:
Dim outl As Outlook.Application
> Ggf käme auch noch CDO über den eigentlichen Exchange infrage.Das solltest du bleiben lassen. Bis 2003 war es so, dass man beiOL-Automation ClickYes brauchte, da OL immer vom Schlimmsten ausging undpro Mail eine Bestaetigung per Mausklick verlangte.Seit 2007 wird geprueft, ob ein gueltiger/aktueller Virencheckerinstalliert ist, und wenn ja, geht die Mail ohne Rueckfrage durch. Das giltaber _nur_ fuer OL-Automation, nicht fuer CDO und Mapi. In diesen Faellenhilft auch ClickYes nur noch begrenzt, denn es laeuft pro Mail ein Timervon IIRC 5 sec. rueckwaerts, bevor der Yes-Button geklickt werden kann.Gruss - Peter--Mitglied im http://www.dbdev.org- Bearbeitet Peter DoeringMVP, Moderator Mittwoch, 4. April 2012 10:31 Formatierung
- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
-
Hallo NicoNi
Dir fehlt eine Zeile, die die Session in Outlook anmeldet (das macht Outlook nur automatisch, wenn es direkt gestartet wird). Zudem solltest Du nur ein Outlook.Application objekt erstellen, wenn es noch keines gibt, sonst das bestehende benutzen. (macht OL allerdings (meist) auch automatisch)
NicoNi wrote:
Set outl = CreateObject("Outlook.application")
On Error Resume Next
Set outl = GetObject(, "Outlook.Appliation")
If Err Then
'hier noch den üblichen Error Handler wieder einsetzen, z.B.
' On Error GoTo PROC_ERR
Set outl = CreateObject("Outlook.Application")
outl.Session.Logon 'dies hast Du vergessen
End If
'hier erneut den üblichen Error Handler wieder einsetzen, z.B.
' On Error GoTo PROC_ERRSet mailIt = outl.CreateItem(olMailItem)
Set mailAtt = mailIt.AttachmentsHTH
Henry- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 24. April 2012 07:34
- Tag als Antwort aufgehoben NicoNi Dienstag, 24. April 2012 08:26
- Als Antwort markiert NicoNi Dienstag, 24. April 2012 08:26
-
-
Hallo NicoNi,
Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.