Joaci Postado Maio 25, 2011 Denunciar Share Postado Maio 25, 2011 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=SetorColuna B=RepresentanteColuna C =ValorColuna D = QTDColuna E= email1° É Possivel via macro em vba criar um codigo que faça um loop na coluna A a cada alteração no Setordesmembrar 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 seguidaabrir 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 ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bráulio Figueiredo Pinto Postado Maio 25, 2011 Denunciar Share Postado Maio 25, 2011 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", xlNormalQualquer dúvida pode entrar em contatoBráulio Figueiredo Pintobraulio@braulioti.com.brhttp://www.braulioti.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Joaci Postado Maio 26, 2011 Autor Denunciar Share Postado Maio 26, 2011 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.100100200200a 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", xlNormalQualquer dúvida pode entrar em contatoBráulio Figueiredo Pintobraulio@braulioti.com.brhttp://www.braulioti.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Bráulio Figueiredo Pinto Postado Maio 26, 2011 Denunciar Share Postado Maio 26, 2011 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ívelBráulio Figueiredo Pintobraulio@braulioti.com.brhttp://www.braulioti.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Joaci Postado Maio 26, 2011 Autor Denunciar Share Postado Maio 26, 2011 Bráulio, boa tarde!Talvez fique mais claro com exemplo do arquivo em excel.Segue o link para Download:http://jumbofiles.com/kk54v8cbp3k7Sua 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ívelBráulio Figueiredo Pintobraulio@braulioti.com.brhttp://www.braulioti.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Joaci Postado Junho 2, 2011 Autor Denunciar Share Postado Junho 2, 2011 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/kk54v8cbp3k7Sua 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ívelBráulio Figueiredo Pintobraulio@braulioti.com.brhttp://www.braulioti.com.br Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Joaci
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
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.