10 Replies Latest reply: Mar 24, 2016 4:38 PM by Israel Souza RSS

    Envio de Email com filtros diferentes.

    João Henrique Soares

      Boa Tarde ,

      eu tenho uma aplicação que envia relatório automático,

      agora eu preciso enviar relatórios diferentes para filial diferentes segue exemplo :

       

      Gerente Filial 1 só pode receber o relatório com informações sobre a filial 1.

      Gerente Filial 2 só pode receber o relatório com informações sobre a filial 2.

       

      Alguém tem alguma ideia?

       

      Desde já agradeço!

       

       

      JH

        • Re: Envio de Email com filtros diferentes.
          Clever Anjos

          O que você chama de "enviar automático"?

          Um excel, pdf, etc?

          Mandar por email?

          Enviar quando? Após recarga?

            • Re: Envio de Email com filtros diferentes.
              João Henrique Soares

              Boa Tarde Clever,

              eu envio um e-mail automático que em anexo um relatório em PDF, sim é depois da recarga!

               

              qualquer outra duvida fico a disposição!

               

              Att,

              JH

                • Re: Re: Envio de Email com filtros diferentes.
                  Clever Anjos

                  João,tenho essa macro aqui, ela filtra de acordo com um campo (vc deveria escolher qual seria o mais apropriado), exporta para Excel (pode ser adaptado para gerar pdf) e envia para emails.

                  Talvez ajude

                  sub EnviaEmail
                    Dim objEmail
                    Const cdoSendUsingPort = 2    
                      Const cdoAnonymous = 0     
                      Const cdoBasic = 1         
                      Const cdoNTLM = 2  
                  
                     '-------------------------------------------------------------------------------------------------------
                      'Configuração do servidor de e-mail
                      SMTPServer = "seu server"
                      Const SMTPPort = 25              
                      Const SMTPTimeout = 60           
                      Set objEmail = CreateObject("CDO.Message")
                      Set objConf = objEmail.Configuration
                      Set objFlds = objConf.Fields
                             
                      With objFlds
                          '---------------------------------------------------------------------
                             ' SMTP server details
                             .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
                             .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
                             .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoAnonymous
                             .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTPPort
                             .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
                             .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = SMTPTimeout
                             .Update
                          '---------------------------------------------------------------------
                      End With
                       '---------------------------------------------------------------------
                      
                    strDate = Year(Date()) &"_"& month(date()) &"_"& Day(Date())   
                    set SelOperacao = ActiveDocument.fields("CampoFiltro").GetPossibleValues  
                      
                      vOperacao = SelOperacao.Item(0).Text   
                  
                  
                      objEmail.To = "email@dominio.com.br"
                      objEmail.From = "bi@dominio.com.br" 'Email Sender
                      objEmail.Subject = "Email Diario"
                      objEmail.TextBody = "Bom dia, segue anexo o relatório "_
                      & chr(13) & "Em caso de divergências nos dados, favor entrar em contato."_
                      & chr(13) & "Email automático do QlikView." 'Text Body         
                  
                  
                    filepath="D:\tmp\\plan_" & vOperacao &"_"&strDate&".xls"
                    objEmail.AddAttachment filepath
                        '-------------------------------------------------------------------------------------------------------   
                      objEmail.Send
                      Set objFlds = Nothing
                      Set objConf = Nothing
                      Set objEmail = Nothing
                      Set SelOperacao = Nothing
                      Set SelCargo = Nothing
                    
                  end sub 
                  
                  
                  
                  
                  Sub CriaXls
                    ActiveDocument.Sheets("SH03").Activate
                    set objExcel = ActiveDocument.GetSheetObject("CH01") 
                    set SelOperacao = ActiveDocument.fields("CampoFiltro").GetPossibleValues  
                      vOperacao = SelOperacao.Item(0).Text  
                    strDate = Year(Date()) &"_"& month(date()) &"_"& Day(Date()) 
                    filepath="D:\tmp\\plan_" & vOperacao &"_"&strDate&".xls"
                    objExcel.ExportBiff filepath
                    ActiveDocument.GetApplication.WaitForIdle
                    set objExcel = Nothing
                    set SelOperacao = Nothing
                      set SelCargo    = Nothing
                  End Sub
                  
                  
                  Sub Processa
                    set FldOperacao = ActiveDocument.Fields("CampoFiltro")
                      set SelOperacao = FldOperacao.GetPossibleValues
                      
                    for i=0 to SelOperacao.Count-1
                      FldOperacao.Select SelOperacao.Item(i).text
                      GravaPDF
                      EnviaEmail
                    next 
                  end Sub
                  
                  • Re: Re: Envio de Email com filtros diferentes.
                    Clever Anjos

                    Postei um exemplo, caiu para a moderaçao, deve aparecer em pouco tempo

                • Re: Envio de Email com filtros diferentes.
                  Raphael Pacheco

                  Terás que fazer uma macro com o for que irá percorrer os valores das filiais e para cada laço ele enviará para o endereço correspondente.