Ir para conteúdo
Fórum Script Brasil
  • 0

ENVIAR EMAIL VIA EXCEL


Joaci

Pergunta

Pessoal, boa tarde!

É o primeiro acessono Script Brasil e tenho uma grande duvidas e tenho uma grande duvidas para tirar com o grupo VBA.

Quero ser bem claro que o meu conhecimento em VBA é o basico, e por este motivo conto com ajuda e todos.

Tenho uma planilha no excel com os seguinte campos:

Coluna A=Setor

Coluna B=Representante

Coluna C =Valor

Coluna D = QTD

Coluna E= email

1° É Possivel via macro em vba criar um codigo que faça um loop na coluna A a cada alteração no Setor

desmembrar setor e salvar em uma pasta C:\ com o nome do setor.

2° Depois que fazer as separações em cada alteração no setor e salvar na pasta C:\ em seguida

abrir o Outlook e enviar o arquivo para cada destinatario conforme o email de cada um tudo isso via VBA, ou seja automatico.

alguém pode me ajudar sé é possivel chegar neste nivel com codigo VBA no excel ?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Existe uma maneira de se fazer isso utilizando o objeto Outlook.Application. Você precisa também ter uma conta do Microsoft Outlook configurada (o Outlook Express não tem esse suporte). O código seria assim:

Private Sub EnviarEmail()
    'Declaração de variáveis
    Dim objOlAppApp As Outlook.Application 'Variável para manipulação do outlook
    Dim objOlAppMsg As Outlook.MailItem 'Variável para nova mensagem
    Dim objOlAppRecip As Outlook.Recipient 'Controle de destinatários
    Dim objOlAppAnexo As Outlook.Attachment 'Controle de anexos

    'Define os parâmetros e envia o e-mail
    Set objOlAppApp = CreateObject("Outlook.Application")
    Set objOlAppMsg = objOlAppApp.CreateItem(olMailItem)
    
    'Configura e envia o e-mail
    Set objOlAppRecip = objOlAppMsg.Recipients.Add("braulio@braulioti.com.br")
    objOlAppRecip.Type = olTo
    objOlAppMsg.Subject = "MENSAGEM DE TESTE"
    objOlAppMsg.HTMLBody = "<H1>HELLO WORLD!</H1>"
    objOlAppMsg.Send

    'Libera os objetos da memória
    Set objOlAppApp = Nothing
    Set objOlAppMsg = Nothing
    Set objOlAppRecip = Nothing
    Set objOlAppAnexo = Nothing
End Sub
e para salvar o arquivo você pode usar algo do tipo
ActiveWorkbook.SaveAs "c:\nomedoarquivo.xls", xlNormal

Qualquer dúvida pode entrar em contato

Bráulio Figueiredo Pinto

braulio@braulioti.com.br

http://www.braulioti.com.br

Link para o comentário
Compartilhar em outros sites

  • 0

Bráulio, muito obrigado pela atenção,

Agora só para finalizar, você consegue descrever a macro que faça a separação na coluna a a cada alteração no setor e salvar C:\

Ou seja a macro vai fazer um loop na coluna A do excel, onde os codigos tem uma sequencia de repetição ,quando ocorrer alteração na repetição ele salvar o setor na Unidade C:

Digamos que temos:

Cod.

100

100

200

200

a cada alteração no codigo ele salvar a planilha na unidade C:\ neste caso o loop vai passar na coluna A e salvar 2 arquivo, um com codigo 100 e outro com codigo 200 é possivel?

Existe uma maneira de se fazer isso utilizando o objeto Outlook.Application. Você precisa também ter uma conta do Microsoft Outlook configurada (o Outlook Express não tem esse suporte). O código seria assim:

Private Sub EnviarEmail()
    'Declaração de variáveis
    Dim objOlAppApp As Outlook.Application 'Variável para manipulação do outlook
    Dim objOlAppMsg As Outlook.MailItem 'Variável para nova mensagem
    Dim objOlAppRecip As Outlook.Recipient 'Controle de destinatários
    Dim objOlAppAnexo As Outlook.Attachment 'Controle de anexos

    'Define os parâmetros e envia o e-mail
    Set objOlAppApp = CreateObject("Outlook.Application")
    Set objOlAppMsg = objOlAppApp.CreateItem(olMailItem)
    
    'Configura e envia o e-mail
    Set objOlAppRecip = objOlAppMsg.Recipients.Add("braulio@braulioti.com.br")
    objOlAppRecip.Type = olTo
    objOlAppMsg.Subject = "MENSAGEM DE TESTE"
    objOlAppMsg.HTMLBody = "<H1>HELLO WORLD!</H1>"
    objOlAppMsg.Send

    'Libera os objetos da memória
    Set objOlAppApp = Nothing
    Set objOlAppMsg = Nothing
    Set objOlAppRecip = Nothing
    Set objOlAppAnexo = Nothing
End Sub
e para salvar o arquivo você pode usar algo do tipo
ActiveWorkbook.SaveAs "c:\nomedoarquivo.xls", xlNormal

Qualquer dúvida pode entrar em contato

Bráulio Figueiredo Pinto

braulio@braulioti.com.br

http://www.braulioti.com.br

Link para o comentário
Compartilhar em outros sites

  • 0

Sua pergunta não ficou muito clara pra mim não. Seria melhor se você enviasse o modelo da planilha através de algum site de compartilhamento. De qualquer forma, pelo que eu entendi você quer transcrever as linhas para um outro arquivo (no caso do VBA para um outro objeto Workbook) e salvá-los separadamente. Um detalhe que eu havia perdido era que você precisava enviá-los como anexo.

Se for realmente isso me avise para que eu possa ajudá-lo da melhor forma possível

Bráulio Figueiredo Pinto

braulio@braulioti.com.br

http://www.braulioti.com.br

Link para o comentário
Compartilhar em outros sites

  • 0

Bráulio, boa tarde!

Talvez fique mais claro com exemplo do arquivo em excel.

Segue o link para Download:

http://jumbofiles.com/kk54v8cbp3k7

Sua pergunta não ficou muito clara pra mim não. Seria melhor se você enviasse o modelo da planilha através de algum site de compartilhamento. De qualquer forma, pelo que eu entendi você quer transcrever as linhas para um outro arquivo (no caso do VBA para um outro objeto Workbook) e salvá-los separadamente. Um detalhe que eu havia perdido era que você precisava enviá-los como anexo.

Se for realmente isso me avise para que eu possa ajudá-lo da melhor forma possível

Bráulio Figueiredo Pinto

braulio@braulioti.com.br

http://www.braulioti.com.br

Link para o comentário
Compartilhar em outros sites

  • 0

Braulio,

Você achou uma solução para minha duvida?

Bráulio, boa tarde!

Talvez fique mais claro com exemplo do arquivo em excel.

Segue o link para Download:

http://jumbofiles.com/kk54v8cbp3k7

Sua pergunta não ficou muito clara pra mim não. Seria melhor se você enviasse o modelo da planilha através de algum site de compartilhamento. De qualquer forma, pelo que eu entendi você quer transcrever as linhas para um outro arquivo (no caso do VBA para um outro objeto Workbook) e salvá-los separadamente. Um detalhe que eu havia perdido era que você precisava enviá-los como anexo.

Se for realmente isso me avise para que eu possa ajudá-lo da melhor forma possível

Bráulio Figueiredo Pinto

braulio@braulioti.com.br

http://www.braulioti.com.br

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...