Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Botão não executa a sub 'Sub' ou 'Function' não definida.

Tenho sob o botão o seguinte código:

Private Sub cmd_Email_Click()

    EnviaEmail

    Unload Me

End Sub

E a Sub EnviaEmail está como abaixo:

Option Explicit

Private Sub sb_EnviaEmail()

    Dim oOutlook As Object
    Dim oEmail As MailItem

    Set oOutlook = CreateObject("Outlook.Application")
    Set oEmail = oOutlook.CreateItem(olMailItem)

    oEmail.To = "meuemailpessoal@hotmail.com"
    'oEmail.CC="outroemail@gmail.com"
    oEmail.Subject = "Teste de e-mail"
    oEmail.Body = "Minha mensagem"
    oEmail.Send
    'oEmail.Save

    Set oOutlook = Nothing
    Set oEmail = Nothing

End Sub

Não só o botão não funciona como a própria Sub não funciona (erro de biblioteca).

Alguém pode me ajudar?

1 resposta
solução!

Encontrei a solução!

A sub de envio do e-mail estava como privada em um módulo separado. A solução foi remover o "Private":

Private Sub cmd_Email_Click()

    sb_EnviaEmail

    Unload Me

End Sub

e

Option Explicit

Sub sb_EnviaEmail()

    Dim oOutlook As Object
    Dim oEmail As MailItem

    Set oOutlook = CreateObject("Outlook.Application")
    Set oEmail = oOutlook.CreateItem(olMailItem)

    oEmail.To = "meuemailpessoal@hotmail.com"
    'oEmail.CC="outroemail@gmail.com"
    oEmail.Subject = "Teste de e-mail"
    oEmail.Body = "Minha mensagem"
    oEmail.Send
    'oEmail.Save

    Set oOutlook = Nothing
    Set oEmail = Nothing

End Sub