11 Replies Latest reply: Dec 17, 2015 10:32 AM by Yuri Nicolett RSS

    Automatizar envio de pdf

    Agnaldo Neves

      Bom pessoal,

      Consigo enviar PDF via e-mail através de disparadores usando macro.

       

      Mas crie bat para chamar aplicação pelo controle de tarefas do windows.

      Mas estou enviando 02 email.

       

      Preciso de uma dica.

      acho que estou fazendo algo de errado.

      o arquivo abaixo

      Crie 03 Bat

       

      //Carregar Bat: Bat1

      start /MIN C:\Geral\Script\abrir.bat

       

      //Abrir Qvw: Bat2

      "C:\Program Files\QlikView\QV.EXE" /r "C:\Geral\EmailPDF\12.qvw"

      @echo off

      taskkill /F /IM Qv.exe

      "C:\Geral\EmailPDF\12.qvw"

      exit

       

      //Fechar a aplicação: Bat3

      @echo off

      taskkill /F /IM Qv.exe

       

      Alguma dica para automatizar este qvw em anexo

        • Re: Automatizar envio de pdf
          Yuri Nicolett

          Agnaldo, não consegui entender qual a sua dúvida

            • Re: Automatizar envio de pdf
              Agnaldo Neves

              Estou enviando email duas vezes.

              Pois na hora que o arquivo qvw abre pelo bat ele gera o pdf.(email)

              Depois que ele execultar o script também gerar o pdf.(email)

              Então eu tenho dois email.

               

              precisava uma dica, para saber como fazer gerar apenas um email.

                • Re: Automatizar envio de pdf
                  Agnaldo Neves

                  Estou usando para gerar o macro PDFCreator

                  Esta funcionando 100%

                  • Re: Automatizar envio de pdf
                    Yuri Nicolett

                    Agnaldo, tente fazer assim:

                     

                    Adicione uma macro que faz a recarga da sua aplicação e no final feche o aplicativo, conforme exemplo:

                     

                     

                    sub PrintReport

                     


                    ActiveDocument.Reload


                      ActiveDocument.PrintDocReport "RP01","Teste"

                     

                      Set WSHShell = CreateObject("WScript.Shell")

                      fln = "S:\BI\TecnoFlex\PDF\myreport.pdf"

                      RegKey = "HKEY_CURRENT_USER\Software\QlikViewPDF\"

                      WSHShell.RegWrite RegKey & "BypassSaveAs", 1

                      WSHShell.RegWrite RegKey & "OutputFile", fln

                      ActiveDocument.GetApplication.Sleep 2000

                      WSHShell.RegWrite RegKey & "BypassSaveAs", 0

                      WSHShell.RegWrite RegKey & "OutputFile", ""

                      Set WSHShell = nothing

                     

                    ActiveDocument.GetApplication.Quit

                     

                    end sub

                     

                     

                    Agora em sua macro já existe o comando de fazer a recarga e feche o QlikView. O que você precisa alterar em seu batch é remover a linha de recarga de lá e também o processo de fechar o qlikview.

                     

                    Ficaria mais ou menos assim:

                     

                    start /wait "C:\Program Files\QlikView" Qv.exe /NoSecurity "C:\Arquivos\Relatorio Gestao 1.qvw"

                     

                     

                    Agora é só agendar esse bat que você criou.

                     

                     

                    OBSERVAÇÃO: Quando você adiciona essas linhas de comando (recarga e fechar o qlikview), você sempre terá que abrir essa aplicação ser executar a macro, como fazer isso? Deixe a aplicação aparecer na lista de documentos recentes abertos no seu qlikview e clique sobre ela segurando Ctrl + Shift.