7 Replies Latest reply: Mar 10, 2017 2:48 PM by Isaias Darci RSS

    Abrir Planilha Excel protegido por senha no Qlik Sense

    mauro ponte

      Caros,

       

      Estou precisando criar uma conexão no Qlik Sense para abrir uma planilha excel protegida por senha.

       

      Criei a conexão no Fontes de dados ODBC do windows, porem nesse momento ele nao me pede nem usuário nem senha, sendo que na planilha informo so senha e não precisa de usuário.

       

      Em seguida vou no Qlik Sense e tento criar a conexão do tipo ODBC. Chamo a que criei no ODBC, coloco senha mas a conexão dá o seguinte erro quando tento salvar:

       

      erro.png

       

      Se eu abrir a planilha pelo excel, colocando a senha pelo proprio excel daí consigo salvar e conectar enquanto a planilha estiver aberta.

       

      Porem se fechar a planilha e tentar recarregar o erro abaixo é apresentado:

       

      erro2.png

       

      alguém pode me auxiliar a conseguir fazer essa conexão sem necessidade de a planilha ser aberta pelo excel?

       

      Desde já agradeço a quem puder me ajudar.

        • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
          FRANCISCO ROGERIO ALMEIDA DOS SANTOS

          Mauro,

           

          Verifiquei no seu print que esta sem usuário será que não seria isso? o usuário que colocou a senha que esta faltando?

           

          Você estaria tentando usar a solução para o script oculto que você menciona no link abaixo?

          [ QlikSense ]  Como faço Script Oculto no QS2_0?

           

          Não gostei muito dessa solução porque é muito fácil retirar a senha da planilha se achar uma solução pro script oculto também estou nessa luta.

          vlw

          • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
            Isaias Darci

            Mauro,

             

            Como você colocou a senha na planilha? está protegendo a planilha ou uma aba?

              • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
                mauro ponte

                Na planilha do Excel eu configuro uma senha e so abre a planilha pelo excel se digitar a senha.

                 

                excel.png

                  • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
                    Isaias Darci

                    Mauro,

                     

                    Você poderia usar um script para chamar o excel abrindo a planilha já passando a senha e depois fazer o load. To testando, porém não to conseguindo criar uma conexão ODBC para pegar arquivo do excel.

                      • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
                        mauro ponte

                        Isaias,

                         

                        Foi exatamente o que eu fiz.

                         

                        eu consegui criar a conexão nas fontes de dados do windows para a planilha. Porem lá nao tem onde eu informar a senha.

                         

                        Daí fui no Qlik Sense e tento configurar uma conexão ODBC. Passo a senha mas não aceita como mostra a primeira  imagem que passei nos posts anteriores.

                         

                        Para salvar a Conexão no Sense eu primeiro tenho de abrir a planilha pelo proprio excel, informando a senha la. Com a planilha já aberta no excel, no sense eu consigo salvar a conexão que estou configurando. Porem se eu fechar a planilha no Excel e tentar recarregar da o erro da segunda imagem que passei.

                         

                        Minha duvida é, tem como passar a senha da planilha a partir das configurações nas fontes ODBC do windows ou pela configuração da conexão ODBC do sense, para no momento da carga no Sense a planilha ser aberta pelo proprio sense sem ter de abrir antes da carga pelo excel?

                          • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
                            Isaias Darci

                            Mauro,

                             

                            segue a solução que encontrei...

                             

                            1 - Crie uma conexão de pasta apontando para a pasta onde sua planilha se encontra.

                            2 - Abra sua planilha e coloque a senha.

                            3 - No Qlik Sense crie o script para a carga de dados da planilha.

                            4 - Adicione essa linha antes da carga de dados.

                             

                            EXECUTE wscript c:\Users\usuario\Desktop\OpenExcel.vbs; //Aqui vai o caminho do script
                            

                             

                            5 - Crie o script OpenExcel.vbs com o seguinte código:

                             

                            Dim xlApp, xlBook, filename
                            
                            //Vai fechar todas as instancias de excel abertas
                            On Error Resume Next
                            Set xlAppOpen = GetObject(, "Excel.Application")
                            xlAppOpen.Quit
                            
                            filename = "C:\Caminho do arquivo excel"
                            
                            // Vai criar uma instancia do excel e abrir a planilha de forma não visivel
                            Set xlApp = CreateObject("Excel.Application")
                            Set xlApp.Workbooks.Open(filename, , , , "senhaPlanilha", "senhaPlanilha")
                            
                            xlApp.Application.Visible = False
                            
                            

                             

                            6 - Depois do load inclua a linha

                             

                            EXECUTE wscript c:\Users\usuario\Desktop\CloseExcel.vbs; //Aqui vai o caminho do script
                            
                            

                             

                            7 - Crie o script CloseExcel.vbs com o seguinte código

                             

                            //Fechar todas as instancias do excel
                            On Error Resume Next
                            Set xlApp = GetObject(,"Excel.Application")
                            xlApp.Quit
                            
                            

                             

                            Para rodar os scripts no qlik sense, é preciso habilitar o modo legado. Para habilitar entre no arquivo Settings.ini e adicione a linha abaixo.

                             

                            OverrideScriptSecurity=1
                            

                             

                            Assim o qlik sense ira rodar os scripts e fazer a carga de dados.

                             

                            imagem de como ficou o script de load para mim.

                             

                            planilha_protegida.PNG

                    • Re: Abrir Planilha Excel protegido por senha no Qlik Sense
                      Pablo Labbe

                      Qlk Sense permite leitura de planilhas Excel diretamente sem uso de ODBC.

                      Além do mais elas não podem estar protegidas por senha.