+ Reply to Thread
Results 1 to 4 of 4

Need to send Outlook E-mail from Excel VBA without warnings.

  1. #1
    Prz59
    Guest

    Need to send Outlook E-mail from Excel VBA without warnings.

    I'm trying to automate the sending of a spreadsheet from via Outlook. I have
    the code in place to build the spreadsheet and setup the Outlook Application
    object and the MailItem object. It sends the message but gives me a warning
    that requires a user interaction. Is there a way to bypass this warning?

  2. #2
    chijanzen
    Guest

    RE: Need to send Outlook E-mail from Excel VBA without warnings.

    Hi,Prz59

    Display Month

    Public Declare Function SetTimer Lib "user32" _
    (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long,
    ByVal lpTimerfunc As Long) As Long
    Public Declare Function KillTimer Lib "user32" _
    (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Function WinProcA(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As
    Long, ByVal SysTime As Long) As Long
    KillTimer 0, idEvent
    DoEvents
    Sleep 100
    ' Alt + s send mail
    Application.SendKeys "%s"
    End Function
    Sub SendMail()
    Dim objOL As Object
    Dim itmNewMail As Object
    'Microsoft Outlook object
    Set objOL = CreateObject("Outlook.Application")
    Set itmNewMail = objOL.CreateItem(olMailItem)
    With itmNewMail
    .Subject = "chijanzen Mail Test" 'Subject
    .Body = Application.UserName & "Email test" 'Body
    .To = "[email protected]" 'User
    .Attachments.Add ThisWorkbook.FullName 'send ThisWorkbook
    .Display 'Display
    SetTimer 0, 0, 0, AddressOf WinProcA
    End With
    Set objOL = Nothing
    Set itmNewMail = Nothing
    End Sub

    --
    http://www.vba.com.tw/plog/


    "Prz59" wrote:

    > I'm trying to automate the sending of a spreadsheet from via Outlook. I have
    > the code in place to build the spreadsheet and setup the Outlook Application
    > object and the MailItem object. It sends the message but gives me a warning
    > that requires a user interaction. Is there a way to bypass this warning?


  3. #3
    Norman Jones
    Guest

    Re: Need to send Outlook E-mail from Excel VBA without warnings.

    Hi Prz59,

    See Ron De Briun's suggestions at:

    http://www.rondebruin.nl/mail/prevent.htm


    ---
    Regards,
    Norman



    "Prz59" <[email protected]> wrote in message
    news:[email protected]...
    > I'm trying to automate the sending of a spreadsheet from via Outlook. I
    > have
    > the code in place to build the spreadsheet and setup the Outlook
    > Application
    > object and the MailItem object. It sends the message but gives me a
    > warning
    > that requires a user interaction. Is there a way to bypass this warning?




  4. #4
    Prz59
    Guest

    RE: Need to send Outlook E-mail from Excel VBA without warnings.

    It's not working. It displays the message with the attachment, but never
    sends it.

    I had to create the WinProcA Function in a module outside the WorkBook code
    for it to run using the AddressOf operator. It doesn't appear to go into that
    function when I step through the code in the de-bugger.

    "chijanzen" wrote:

    > Hi,Prz59
    >
    > Display Month
    >
    > Public Declare Function SetTimer Lib "user32" _
    > (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long,
    > ByVal lpTimerfunc As Long) As Long
    > Public Declare Function KillTimer Lib "user32" _
    > (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
    > Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    >
    > Function WinProcA(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As
    > Long, ByVal SysTime As Long) As Long
    > KillTimer 0, idEvent
    > DoEvents
    > Sleep 100
    > ' Alt + s send mail
    > Application.SendKeys "%s"
    > End Function
    > Sub SendMail()
    > Dim objOL As Object
    > Dim itmNewMail As Object
    > 'Microsoft Outlook object
    > Set objOL = CreateObject("Outlook.Application")
    > Set itmNewMail = objOL.CreateItem(olMailItem)
    > With itmNewMail
    > .Subject = "chijanzen Mail Test" 'Subject
    > .Body = Application.UserName & "Email test" 'Body
    > .To = "[email protected]" 'User
    > .Attachments.Add ThisWorkbook.FullName 'send ThisWorkbook
    > .Display 'Display
    > SetTimer 0, 0, 0, AddressOf WinProcA
    > End With
    > Set objOL = Nothing
    > Set itmNewMail = Nothing
    > End Sub
    >
    > --
    > http://www.vba.com.tw/plog/
    >
    >
    > "Prz59" wrote:
    >
    > > I'm trying to automate the sending of a spreadsheet from via Outlook. I have
    > > the code in place to build the spreadsheet and setup the Outlook Application
    > > object and the MailItem object. It sends the message but gives me a warning
    > > that requires a user interaction. Is there a way to bypass this warning?


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1