2016-02-03 5 views
0

это Смущает меня ...Первых SendKeys автоматизированных электронной почты фактически не присылают из Outlook,

У меня есть набор отчетов Excel я бег по утрам, который генерирует шесть писем каждого с вложениями, плюс индивидуальная запуск отчета в среду, который генерирует только одно электронное письмо.

Для того, чтобы эти отчеты полностью автоматизированы и работать без присмотра и пройти мимо Перспективы безопасности всплывающего окна, я использовал функцию SendKeys, как это (это из отчета «в среду»):

Dim OutApp As Object 
Dim OutMail As Object 
Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 
    With OutMail 
     .To = distlist 
     .CC = "" 
     .BCC = "" 
     .Subject = "30+ Days and Early Warning lists for " & Format(Now, "dd mmm") 
     .Body = "Latest lists attached" 
     .Attachments.Add ("C:\Users\" & whoami & "\Desktop\" & outputdirectoryname & "\" & outputfile1 & "") 
     .Attachments.Add ("C:\Users\" & whoami & "\Desktop\" & outputdirectoryname & "\" & outputfile2 & "") 
     .Display 
     Application.Wait (Now + TimeValue("0:00:06")) 
     Application.SendKeys "%s" 
End With 
Set OutMail = Nothing 
Set OutApp = Nothing 
Sheets("Run Buttons").Select 

... работает красиво.

Теперь моя проблема не в том, что этот код не работает как таковой, но первое письмо никогда не отправляется Outlook, но остается отображаемым и «застревает» в папке «Исходящие». Если я не смогу вручную вмешаться и «Отправить» это первое электронное письмо, то последующие также будут «застревать», но если я сделаю вручную «Отправить», остальные будут проходить, как ожидалось.

Так, например, сценарий среды идет как это ...

  1. Выполнить отчет в среду - это электронная почта не может присылают поэтому нажмите кнопку «Отправить»
  2. Run другие, обычные утренние отчеты - все письма проходят автоматически

А для пн, вт, чт, пт работает ...

  1. Первый электронная почта не может быть отправлена, поэтому нажмите «Отправить»
  2. Остальные письма отправляются автоматически.

Если я отменил работу отчетов, чтобы отчет в среду был выполнен последним, его электронная почта проходит автоматически, как ожидалось.

Мой ноутбук заблокирован более жестким, чем .... так что никаких дополнительных дополнений к программному обеспечению не произойдет, также непосредственно обращаясь к серверу SMTP/Exchange, поэтому прямо сейчас Sendkeys - единственная электронная автоматизация электронной почты, доступная мне. Все вхождения кода Sendkeys идентичны.

Как я уже говорил, смущенный!

У меня проблема с Excel или с Outlook?

... и как его «исправить»?

Большое спасибо за вашу помощь и время.

+0

ли перспектива открывается, когда почта создается? – Kathara

+0

Привет, Kathara, Outlook уже открыт.Хотя эти отчеты, как правило, являются первой задачей утра, поэтому, как правило, первый использует Outlook, бывают случаи, когда мне приходится сначала отвечать на электронные письма, поэтому он уже успешно использовал Outlook, прежде чем запускать (и получить ошибки) эти отчеты –

+0

Ok. Потому что однажды случилось со мной, что у меня не было Outlook, но «Отправить» письмо, которое затем застряло в папке «Исходящие». Можете ли вы однажды попытаться обменять «Appliation.SendKeys»% s »на« .Send »и посмотреть, работает ли это? :) – Kathara

ответ

0

SendKeys может работать только в том случае, если инспектор активен на переднем плане. Почему бы не попробовать другие обходные пути (ClickYes, Redemption)? См http://www.outlookcode.com/article.aspx?id=52

0

Добавить следующий код перед .Display

If Application.VBE.MainWindow.Visible = True Then Application.VBE.MainWindow.Visible = False 
+0

К сожалению, dding эта строка дала 1004 «Программный доступ к Visual Basic Project не заслуживает доверия». –