outlook

Status
Niet open voor verdere reacties.

Daneron

Gebruiker
Lid geworden
10 jun 2003
Berichten
186
Met welke code kan ik outlook op laten starten als ik een rapport wil verzenden. Nu is het namelijk zo dat als ik een rapport heb verzonden ik outlook op moet starten om de email daadwerkelijk te verzenden ( hij staat dan in postbak uit ).

Met outlook express is dit volgens mij niet het geval?

mvrg
 
Hier is code om een emailtje met een bijlage vanuit VB code via outlook te versturen.

Sub Main()
' Create an Outlook application.
Dim oApp As Outlook._Application
oApp = New Outlook.Application()

' Create a new MailItem.
Dim oMsg As Outlook._MailItem
oMsg = oApp.CreateItem(Outlook.OlItemType.olMailItem)
oMsg.Subject = "Send Attachment Using OOM in Visual Basic .NET"
oMsg.Body = "Hello World" & vbCr & vbCr

' TODO: Replace with a valid e-mail address.
oMsg.To = "user@example.com"

' Add an attachment
' TODO: Replace with a valid attachment path.
Dim sSource As String = "C:\Temp\Hello.txt"
' TODO: Replace with attachment name
Dim sDisplayName As String = "Hello.txt"

Dim sBodyLen As String = oMsg.Body.Length
Dim oAttachs As Outlook.Attachments = oMsg.Attachments
Dim oAttach As Outlook.Attachment
oAttach = oAttachs.Add(sSource, , sBodyLen + 1, sDisplayName)

' Send
oMsg.Send()

' Clean up
oApp = Nothing
oMsg = Nothing
oAttach = Nothing
oAttachs = Nothing
End Sub
 
Ik wil via access een rapport verzenden, in het formulier bevindt zich een button (verzendknop ) die een rapport maakt gebaseerd op een id van het geopende record.

Hoe bouw ik de code in onderstaande code.

Private Sub Knop127_Click()
On Error GoTo Err_Knop127_Click

If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord

If Me.Ploeg = "1" Then
DoCmd.SendObject acReport, "Rrapport verzenden 1", "SnapshotFormat(*.snp)", _
daneron1@zeelandnet.nl, "", "", "rapportage", "Bijlage is toegevoegd aan bericht !", False, ""

Else

If Me.Ploeg = "2" Then
DoCmd.SendObject acReport, "Rrapport verzenden 1", "SnapshotFormat(*.snp)", _
daneron2@zeelandnet.nl, "", "", "rapportage", "Bijlage is toegevoegd aan bericht !", False, ""


End If
End If

Exit_Knop127_Click:
MsgBox "Het Rapport is verzonden !", vbInformation, "Attentie !"
Exit Sub

Err_Knop127_Click:
MsgBox "Bericht is geannuleerd ", vbInformation, "Attentie !"

End Sub


mvrg
 
Hoi bedankt voor je reaktie, alleen kan ik me niet voorstellen dat daar zo'n gecompliceerde code voor nodig is om alleen outlook op de achtergrond op te starten zodat de mail wordt verzonden.

Hoe gebruik ik het shell commando om outlook op te starten?

alvast bedankt.

mvrg
 
Eén blik in de access help bij het shell commando en je had het geweten......

Shell "C:\Program Files\Microsoft Office\OFFICE11\outlook.exe"

Let er op dat het pad verwijst naar de plek waar bij jou outlook.exe staat.

Overigens is dit geen goede manier om mailtjes te sturen vanuit code, je kunt beter één van de eerder genoemde manieren gebruiken, daar krijg je uiteindelijk minder problemen mee en je bent veel felxibeler m.b.t. attachments, recipients etc.
 
Omdat ik meerdere databases heb waarbij rapporten worden verzonden en dus steeds in de postbak uit blijven staan van Outlook heb ik maar weer eens een poging gewaagd dit op te lossen, helaas dus:confused:

Heb bijlage toegevoegd als voorbeeld bestand.

In het kort uitgelegd:

Bij het klikken moet een rapport worden verzonden, die dus direct wordt verzonden en dus niet in de postbak uit blijft staan. De beveiligingen van office neem ik voor lief ( is iets voor systeem beheer ).

alvast bedankt.
 

Bijlagen

Wat jij wilt kan echt alleen door je mailtje via SMTP te sturen.
De code daarvoor vind je in mijn reactie een paar antwoorden in deze thread terug.
Elke andere methode zal het mailtje in het postvak uit van Outlook plaatsen.
 
Kunt u dit aanpassen in de bijlage die is toegevoegd ? Ik weet wel dat het mogelijk is om een snapshot rechtstreeks te verzenden ( dus niet in de postvak uit blijft hangen ) maar hoe dit met SMTP gaat en/of hoe ik de snapshot moet toevoegen blijft een uitdaging die nu te lang duurt.

Ik gebruikt nu de shell commando om outlook op te starten zodat de mail wordt verzonden.

mvrg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan