PDA

Vollständige Version anzeigen : Email aus AccesDB selektieren ,outlook öffen und senden


Markus-Düsseldorf
11.07.2001, 12:04
Hallo,

habe folgendes problem, mit der folgenden prozedur lässt sich outlook wunderbar öffen , die emails werden auch alle angezeigt wenn sie noch nicht im adressbuch sind , das dumme daran ist , ich müsste für jede die noch nicht im adressbuch ist einen eintrag machen , (werde dazu von outlook aufgefordert lässt sich nicht wegmachen ), auch nicht dadurch ,dass ich dei "resolve " prüfung weglasse

Sub CreateOutlook(ByVal mailAddres As String, ByVal mailSubject As String, ByVal mailBody As String)
Dim olApp As Outlook.Application
Dim olMailMessage As Outlook.MailItem
Dim olRecipient As Outlook.Recipient
Dim blnKnownRecipient As Boolean

' Neue Outlook-Instanz erzeugen oder die aktive Instanz öffnen.
Set olApp = New Outlook.Application
' Erzeugen einer neuen Nachricht.
Set olMailMessage = olApp.CreateItem(olMailItem)
' Fragen nach Nachrichtenempfänger, Überprüfen der Adresse
' und Senden oder Anzeigen der Adresse.
With olMailMessage
Set olRecipient = .Recipients.Add(mailAddres)
blnKnownRecipient = olRecipient.Resolve
.Subject = mailSubject
.Body = mailBody
If blnKnownRecipient = True Then
.Send
Else
.Display
End If
End With
Set olMailMessage = Nothing
olApp.Quit
Set olApp = Nothing
End Sub

danke für jeden hinweis

Markus-Düsseldorf
13.07.2001, 13:43
kann mir den keiner helfen?

Wile E G
13.07.2001, 13:54
hi
ich weiß zwar nicht ob du da ne lösung findest aber schau mal nach ACCESS - OUTLOOK (http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=41202)
ich denke das ist besser als gar nichts.
HTH Wile E.G.

AWSW
13.07.2001, 16:25
Hallo,
also das geht bei mir auf 2 Wegen:

Möglichkeit 1:

Bitte unter den Extras/Verweisen im Editor noch das MS Outlook Object Library 9.0 aktivieren !!!

Bei Set NewReci = NewMail.Recipients.Add("@") kannst Du schon innerhalb der Klammer einen festen Empfänger eintragen


Diese & xxxxxxxx stellen Deine gesuchten Variablen dar:

'##############################

Dim MText As Variant
Dim NewApp As New Outlook.Application
Dim NewMail As Outlook.MailItem
Dim NewReci As Outlook.Recipient
Dim NewAtta As Outlook.Attachment
Dim Empfaenger As String
Dim Anhang As String

Set NewApp = CreateObject("Outlook.Application")
Set NewMail = NewApp.CreateItem(olMailItem)
NewMail.Subject = "Berichte zum Auftrag: " & Me.Kunde & " - " & Me.Orte & " - " & Me.STS_AuftragsNr
'Set NewReci = NewMail.Recipients.Add("@")
'NewReci.Type = olTo
MText = MText & "Dieser automatisch generierten Mail ist eine 'Berichte.zip' Datei angehängt zum Auftrag:" & Chr(13)
MText = MText & "" & Me.Kunde & " - " & Me.Orte & " - " & Me.STS_AuftragsNr & Chr(13) & Chr(13)
MText = MText & "Die Berichte sind im MS SnapShotViewer (.SNP) und im MS Word RichTextFormat (.RTF) vorhanden." & Chr(13) & Chr(13)
MText = MText & "Sie benötigen zum Betrachten der .SNP - Dateien den MS SnapShotViewer." & Chr(13)
MText = MText & "Dieser wird eventuell beim ersten Aufrufen einer dieser Dateien installiert." & Chr(13)
MText = MText & "Das Setup verlangt dann nach der CD 1 des MS Office 2000 - Paketes." & Chr(13) & Chr(13)
MText = MText & "Sie finden den SnapShotViewer auch ... unter:" & Chr(13)
MText = MText & "http://..." & Chr(13)
MText = MText & "oder im Internet bei Microsoft als Version für MS Office 97 und MS Office 2000:" & Chr(13)
MText = MText & "http://www.OfficeUpdate.Microsoft.com/Germany/2000/DownloadDetails/Snapshot_Viewer.htm" & Chr(13)
MText = MText & "oder im Internet bei Microsoft als Version für MS Office 97 und MS Office 2000:" & Chr(13)
MText = MText & "http://www.OfficeUpdate.Microsoft.com/Germany/2000/DownloadItems/SnpVw90.exe" & Chr(13)
MText = MText & "Falls nicht schon installiert, finden Sie die Anwendung WinZip unter:" & Chr(13)
MText = MText & "http://www.winzip.de" & Chr(13) & Chr(13)
MText = MText & "Die Installation geschieht auf eigene Gefahr! Es wird keine Haftung für Schäden übernommen!" & Chr(13) & Chr(13) & Chr(13)
MText = MText & "Mit freundlichen Grüßen " & Chr(13) & Chr(13) & "Firma" & Chr(13) & Me.Name_Techniker & Chr(13) & Me.Tel_Techniker & Chr(13) & Me.Mail_Techniker & Chr(13) & Chr(13) & Chr(13)
NewMail.Body = MText
Anhang = "C:\AW-Tool2000\OutPutTo\Berichte.zip"
Set NewAtta = NewMail.Attachments.Add(Anhang)
NewMail.Save
'NewMail.Send
Set NewReci = Nothing
Set NewAtta = Nothing
Set NewMail = Nothing
Set NewApp = Nothing
MsgBox "MS Outlook 2000 wird nun gestartet." & Chr(13) & "" & Chr(13) & "Das Starten von Outlook kann je nach Systemauslastung einen Moment dauern." & Chr(13) & "" & Chr(13) & "Sie finden die erzeugte Mail je nach Konfiguration in Ihrem Ordner: Posteingang oder Entwürfe." & Chr(13) & "Tragen Sie noch den Empfänger ein und versenden Sie die Mail.", vbInformation, "Information zum Senden..."

Call Shell("outlook", vbNormalNoFocus)
'##############################

Möglichkeit 2:
Es geht aber auch so:

DoCmd.SendObject acReport, stDocName, acFormatSNP, Me!Mail, , , "(Bericht_Name)", "Die Anlage kann mit dem MS Snapshot Viewer geöffnet werden", True

ME!Mail steht dann für den Empfänger und ist bei mir ein angezeigtes Formularfeld...


Ich hoffe das hilft Dir etwas...