Mail versturen als Outlook niet actief is

Status
Niet open voor verdere reacties.

Hans Gorter

Gebruiker
Lid geworden
27 okt 2008
Berichten
97
Op verschillende plaatsen is er code te vinden om mail vanuit Excel via Outlook te versturen. Maar dan moet Outlook steeds actief zijn. Wie kan mij helpen aan code waarmee ik mail via Outlook kan versturen terwijl Outlook niet actief is. Of kan iemand mij helpen aan code waarmee ik kan vasttellen dat Outlook niet actief is.
Vast dank
 
Outlook hoeft niet actief te zijn, alleen geïnstalleerd. Of bedoel je dat je wil mailen zonder dat Outlook is geïnstalleerd? Dan kun je CDO gebruiken:
http://www.rondebruin.nl/win/s1/cdo.htm
 
Laatst bewerkt:
Outlook is wel geïnstalleerd maar niet opgestart en dan wordt de mail niet verstuurd. Als ik Outlook opstart wordt de mail via Excel wel verstuurd. Dank voor je reactie!
 
Laat dan eens de code zien die je nu hebt, want Outlook hoeft niet gestart te zijn om via Outlook een mail te versturen.
 
Die gebruik ik ook en werkt bij mij prima zonder dat Outlook is gestart.
 
De code start zelf een Outlook sessie, alleen zie je 'm niet. Dat geeft niks als je .Send gebruikt, maar wil je de mail nog bewerken dan moet je .Display gebruiken, en de Outlook sessie ook zichtbaar maken met
Code:
With OutMail
    .Visible = True
    .To = cell.Value
    .Subject = "Reminder"
    .Body = "Dear " & Cells(cell.Row, "A").Value _
          & vbNewLine & vbNewLine & _
            "Please contact us to discuss bringing your account up to date"
    .Display
End With
 
Laatst bewerkt:
Dank voor jullie hulp maar het werkt niet. Ik heb het ook op een ander systeem waar Outlook is geïnstalleerd getest, ook daar zonder resultaat. Alleen als Outlook actief is werkt het. Voor de goede orde: outlook werkt correct, ik kan op de gewone manier mail versturen. Rarara...
 
Vreemd inderdaad, hier werkt het prima en heb ik ook de code van Ron gebruikt.
 
Set olApp = CreateObject("Outlook.application")
Set olMail = olApp.Createitem(0)

'On Error Resume Next

With olMail

.to = "Gorterdevries@gmail.com"
.Subject = "Reminder"
.Body = "Dear Hans" _
& vbNewLine & vbNewLine & _
"Please contact us to discuss bringing your account up to date"
.Send
End With

Ik heb on error uitgeschakeld en dan geeft ie een foutmelding bij .send

gek: als ik
.subject tik, wordt dat aangepast naar .Subject
.send blijft .send Net alsof de eigenschap niet wordt herkend. Toch?
 
Laatst bewerkt:
Ook die doet het bij mij goed. Als tip, die los van je vraag staat, wil ik wel adviseren om On Error Resume Next alleen te gebruiken om een fout zelf op te vangen en af te handelen. Niet zomaar bovenin een routine en er verder niks mee doen.
 
Je kunt eens met Early binding werken i.p.v. met Late Binding.
 
Da's een goeie en heb ik ook gedaan. In beide gevallen werkt het goed. Outlook is niet actief en de mail wordt gewoon verstuurd.
 
Deze werkt eveneens zonder Outlook geopend.
Code:
    With CreateObject("outlook.application").createitem(0)
        .to = "Gorterdevries@gmail.com"
        .Subject = "Outlook closed while sending email"
        .Body = "Dear Hans" _
        & vbNewLine & vbNewLine & _
        "Deze mail is verstuurd zonder Outlook te openen." _
        & vbNewLine & "Zal de code posten bij je vraag." _
        & vbNewLine & vbNewLine & "Rudi"
        .Send
    End With
 
Super aardig bedoeld maar er is niks mis met de code, er is iets anders mis. Maar wat zou dat kunnen zijn?
 
Als er niks mis is met de code, dan moet het gewoon werken. Heb je hem al eens in de onderbrekingsmodus uitgevoerd? En waar loopt hij dan niet goed?
 
Op je initiële vraag 'hoe kan ik controleren of Outlook gestart is': ook daar kun je bij Ron terecht voor het antwoord.
 
Het emailadres dat je invult is toch wel een geldig emailadres ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan