Usuário com melhor resposta
Excel - VBA - Ajuda em Código!

Pergunta
-
Boa noite prezados!
Estou com um problema e se possível, gostaria de ajuda.
Eu estou tentando criar uma planilha para envio de arquivos, onde eu seleciono o arquivo e quero que esses arquivos sejam enviados por e-mail. Colocado o código, mas ele dá um erro, e mesmo diante várias horas de procura e pesquisa, não consegui solucionar, apresentando o erro " Erro inesperado. Era esperado End Sub"
Segue o código:
Private Sub CommandButton4_Click() Function EnviaEmail() Dim iMsg, iConf, Flds Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields schema = "http://schemas.microsoft.com/cdo/configuration/" Flds.Item(schema & "sendusing") = 2 'Configura o smtp Flds.Item(schema & "smtpserver") = "smtp.gmail.com" 'Configura a porta de envio de email Flds.Item(schema & "smtpserverport") = 465 Flds.Item(schema & "smtpauthenticate") = 1 'Configura o email do remetente Flds.Item(schema & "sendusername") = "meuemail@gmail.com" 'Configura a senha do email remetente Flds.Item(schema & "sendpassword") = "123456" Flds.Item(schema & "smtpusessl") = 1 Flds.Update With iMsg 'Email do destinatário .To = Range("C5") 'Seu email .From = "meuemail@gmail.com" 'Título do email .Subject = "Nota Fiscal de Serviço" 'Mensagem do e-mail, você pode enviar formatado em HTML .HTMLBody = "E-mail para envio de nota Fiscal" 'Seu nome ou apelido .Sender = "FULANO DE TAL" 'Nome da sua organização .Organization = "FULANO DE TAL INDUSTRIES" 'e-mail de responder para .ReplyTo = "meuemail@gmail.com" 'Anexo a ser enviado na mensagem. Retire a aspa da linha abaixo e coloque o endereço do arquivo .AddAttachment Range("C6") .AddAttachment Range("C7") .AddAttachment Range("C8") Set .Configuration = iConf .Send End With Set iMsg = Nothing Set iConf = Nothing Set Flds = Nothing End Function Sub disparar() EnviaEmail MsgBox "O e-mail foi disparado com sucesso!", vbOKOnly, "e-mail enviado" End Sub
O que será que pode está errado?
Obrigado.
- Editado ZéHenrique segunda-feira, 29 de abril de 2019 03:20 faltou a exposição do código
Respostas
-
Olá,
seu seu método estiver correto, basta alterar pra isso:
Private Sub CommandButton4_Click() disparar end sub Function EnviaEmail() Dim iMsg, iConf, Flds Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields schema = "http://schemas.microsoft.com/cdo/configuration/" Flds.Item(schema & "sendusing") = 2 'Configura o smtp Flds.Item(schema & "smtpserver") = "smtp.gmail.com" 'Configura a porta de envio de email Flds.Item(schema & "smtpserverport") = 465 Flds.Item(schema & "smtpauthenticate") = 1 'Configura o email do remetente Flds.Item(schema & "sendusername") = "meuemail@gmail.com" 'Configura a senha do email remetente Flds.Item(schema & "sendpassword") = "123456" Flds.Item(schema & "smtpusessl") = 1 Flds.Update With iMsg 'Email do destinatário .To = Range("C5") 'Seu email .From = "meuemail@gmail.com" 'Título do email .Subject = "Nota Fiscal de Serviço" 'Mensagem do e-mail, você pode enviar formatado em HTML .HTMLBody = "E-mail para envio de nota Fiscal" 'Seu nome ou apelido .Sender = "FULANO DE TAL" 'Nome da sua organização .Organization = "FULANO DE TAL INDUSTRIES" 'e-mail de responder para .ReplyTo = "meuemail@gmail.com" 'Anexo a ser enviado na mensagem. Retire a aspa da linha abaixo e coloque o endereço do arquivo .AddAttachment Range("C6") .AddAttachment Range("C7") .AddAttachment Range("C8") Set .Configuration = iConf .Send End With Set iMsg = Nothing Set iConf = Nothing Set Flds = Nothing End Function Sub disparar() EnviaEmail MsgBox "O e-mail foi disparado com sucesso!", vbOKOnly, "e-mail enviado" End Sub
Abraço!
Natan
- Sugerido como Resposta LeonardoBastos segunda-feira, 29 de abril de 2019 18:46
- Marcado como Resposta ZéHenrique quarta-feira, 1 de maio de 2019 15:14
Todas as Respostas
-
Olá,
seu seu método estiver correto, basta alterar pra isso:
Private Sub CommandButton4_Click() disparar end sub Function EnviaEmail() Dim iMsg, iConf, Flds Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") Set Flds = iConf.Fields schema = "http://schemas.microsoft.com/cdo/configuration/" Flds.Item(schema & "sendusing") = 2 'Configura o smtp Flds.Item(schema & "smtpserver") = "smtp.gmail.com" 'Configura a porta de envio de email Flds.Item(schema & "smtpserverport") = 465 Flds.Item(schema & "smtpauthenticate") = 1 'Configura o email do remetente Flds.Item(schema & "sendusername") = "meuemail@gmail.com" 'Configura a senha do email remetente Flds.Item(schema & "sendpassword") = "123456" Flds.Item(schema & "smtpusessl") = 1 Flds.Update With iMsg 'Email do destinatário .To = Range("C5") 'Seu email .From = "meuemail@gmail.com" 'Título do email .Subject = "Nota Fiscal de Serviço" 'Mensagem do e-mail, você pode enviar formatado em HTML .HTMLBody = "E-mail para envio de nota Fiscal" 'Seu nome ou apelido .Sender = "FULANO DE TAL" 'Nome da sua organização .Organization = "FULANO DE TAL INDUSTRIES" 'e-mail de responder para .ReplyTo = "meuemail@gmail.com" 'Anexo a ser enviado na mensagem. Retire a aspa da linha abaixo e coloque o endereço do arquivo .AddAttachment Range("C6") .AddAttachment Range("C7") .AddAttachment Range("C8") Set .Configuration = iConf .Send End With Set iMsg = Nothing Set iConf = Nothing Set Flds = Nothing End Function Sub disparar() EnviaEmail MsgBox "O e-mail foi disparado com sucesso!", vbOKOnly, "e-mail enviado" End Sub
Abraço!
Natan
- Sugerido como Resposta LeonardoBastos segunda-feira, 29 de abril de 2019 18:46
- Marcado como Resposta ZéHenrique quarta-feira, 1 de maio de 2019 15:14
-