Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mauroponte
Creator II
Creator II

Abrir Planilha Excel protegido por senha no Qlik Sense

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.

Labels (3)
7 Replies
rogerioalmeida
Creator
Creator

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

isaiasdd
Creator
Creator

Mauro,

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

mauroponte
Creator II
Creator II
Author

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

excel.png

isaiasdd
Creator
Creator

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.

mauroponte
Creator II
Creator II
Author

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?

pablolabbe
Luminary Alumni
Luminary Alumni

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

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

isaiasdd
Creator
Creator

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