locked
Enviando e-mail via excel(vba) porém este e-mail deve ser agendado dentro do outlook. RRS feed

  • Pergunta

  • Olá,

     

    Tenho um código em VBA no excel que envia e-mails automáticos, porém como são muitos os e-mails tenho que fazer com que o outlook agende para enviar estes e-mails para 20 minutos depois que entrarem na caixa de saída(schedule)

     

    É possível inserir um comando no script que o outlook entenderá que a mensagem será agendada e não deverá ser enviada até que a data/hora(determinada por mim) chegue?

     

    Segue o script:

     

     

    Dim olaap As Outlook.Application

    Dim OutMail As Outlook.MailItem

     

    Set olapp = CreateObject("Outlook.Application")

    Set OutMail = olapp.CreateItem(olMailItem)

     

    olapp.Session.Logon

     

    With OutMail

        .To = toValue

        .CC = ccValue

        .BCC = ""

        .Subject = subjectValue

        .HTMLBody = MsgBody

        .Display

        '.GOSTARIA AQUI DENTRO DA CRIAÇÃO DOS CAMPOS DO OUTLOOK TIVESSE UM COMANDO PARA AGENDAR A MENSAGEM PARA DAQUI 20 MINUTOS.

        .Send

     

    End With


    sexta-feira, 19 de novembro de 2010 11:44

Todas as Respostas

  • Existe a propriedade DeferredDeliveryTime do objeto MailItem que faz isso. O comando que você busca é:

        .DeferredDeliveryTime = DateAdd("n", 20, Now)

    .O parâmetro "n" significa minutos. 20 é a quantidade, e Now é a partir de qual data. Nesse caso, Now significa a hora/data atual, como 17:10 20/11/2010.


    http://www.ambienteoffice.com.br
    sábado, 20 de novembro de 2010 19:11
  • Valeu pela resposta,

    Era EXATAMENTE isso que eu precisava, e funcionou!!!!!!!!

    Valeu mesmo.

    Grato

    terça-feira, 23 de novembro de 2010 16:32