Excel - obter dados...
 
Notifications
Clear all

Excel - obter dados externos para pasta compartilhada

8 Posts
1 Usuários
0 Reactions
5,584 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Prezados, boa noite!

Preciso muito importar dados da web (no caso a cotação do dolar).

Até ai bem simples...só que quando eu habilito o COMPARTILHAMENTO DA PASTA DE TRABALHO a importação de dados é desabilitada. Os ícones do campo "obter dados" ficam todos desabilitados (apagados, acinzentados) e a importação mesmo que esteje para atualizar automaticamente não atualiza.

Roteiro de teste:

1) baixar pasta de trabalho
http://www.adslcia.com.br/posts/EXEMPLO.xlsx

2) na planilha 2 (DOLAR), celula verde, mudar o valor para qq outro (exp 2,00)

aguarde 1 minuto e verás que o valor sincroniza com a cotação atual da web para 1,73 (12/03/011).

Simples até ai! Está sincronizando beleza!

Observe que na aba "DADOS' o campo "OBTER DADOS EXTERNO" está todo habilitado!!!

Agora vai na aba "REVISÃO" e clica em "COMPARTILHAR PASTA DE TRABALHO"

VOLTE NA ABA "DADOS" E VERÁS QUE O CAMPO "OBTER DADOS EXTERNOS" ESTÁ TODO DESABILITADO E A CELULA VERDE PARA DE SINCRONIZAR.

Ou seja, parece que não é possível obter dados externos em pasta que esteja compartilhada. (será???)

Tem como contornar isso de alguma forma?

ALGUM LINK QUE INDIQUE UMA DIREÇÃO?!

Obrigado por colaborarem!

 
Postado : 13/03/2011 1:10 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ninguém???

 
Postado : 14/03/2011 9:20 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

ADSL,

Realmente trabalhar com pasta compartilhada é um saco ! muita coisa não funciona.
Ja precisei fazer isso que voce quer, e a solução foi utilizando VBA.
Montei um arquivo de exemplo e postei no meu blog as instruções.

dá uma olhada nesse artigo : http://adelsonrms.com/2011/03/16/atualizando-dados-vinculados-em-pasta-de-trabalha-compartilhada/

 
Postado : 15/03/2011 10:18 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Em primeiro lugar, obrigado por responder essa dúvida no forum planilhando e criar o post no seu blog!
http://adelsonrms.com/2011/03/16/atuali ... comment-13

Surgiu uma dúvida:
Pela lógica, depois que vc clica em atualizar, os outros usuários que estiverem com o documento aberto não poderão salvar suas alterações mesmo que o compartilhamento seja restaurado logo em seguida. Isso procede?

Caso positivo a solução seria todos os usuarios salvarem suas alterações e fecharem o documento antes da atualização, reabrindo depois que o mesmo seja atualizado?

Uma ultima dúvida? não manjo nada de VBA, como copio esse escript para minha planilha? Tentei copiar o botão “atualizar” que vc criou mas não consegui.
http://www.adslcia.com.br/posts/EXEMPLO.xlsx
Muito obrigado pela ajuda!

 
Postado : 19/03/2011 10:44 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá MAITOR

Desculpe a demora na resposta,
Realmente que voce observou faz todo o sentido, quando elaborei esse exemplo, não fiz testes com muitas situações.
Isso pode sim, acarretar em problemas de salvamento.

Trabalho com Desenvolvimento de soluções em Excel já algum tempo e sinto-me a vontade para dizer que não se deve utilizar esse recurso que, na minha opinião,
Não funciona corretamente como deveria.

Além de atualizações, esse recurso bloqueia tambem outros como, Formatação Condicional, Inclusão/Exclusão de linhas, entre outros.

A solução para esse tipo de tarefa que voce quer fazer, seria construir uma personalização, via VBA, para a atualização compartilhada das informações que voce quer capturar.

Por Exemplo:

Apartir da planilha, uma macro importa os valores para um local na rede (um arquivo texto por exemplo) e uma outra macro faz o trabalho de ler esse arquivo texto e guarda na planilha.
Dessa forma, todos poderão atualiza o voce sem a necessidade de a pasta está compartilhada

Uma outra solução, ainda envolvendo VBA. seria utilizar dois arquivos, um, sem compartilhamento, para atualizar a fonte da Web, e o outro (pode está compartilhado) ler esses dados desse primeiro arquivo.
Esse segunda solução pode ser a mais pratica, uma vez que não muda muito a fonma com que voces ja fazem hoje

Mas só pra reforçar, que somente com recursos de VBA, voce conseguiria contornar esse problema, frente as essas limitações desse recurso.

Valeu, um abraço

Att. Arms

 
Postado : 25/03/2011 11:00 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpa, esqueci de falar sobre como voce implementa o exemplo na sua planilha.

Faz o seguinte:

Com a sua planilha aberta, abra o visual basic (ALT + F11 )

Com a tela do VBA aberta, crie um novo Módulo
Menu Inserir > Módulo

Abra o arquivo de exemplo que postei.
Remova o compartilhamento do arquivo, o código VBA não pode ser acessado com pasta compartilhada

Acesse novamente o VBA copie todo o código que estiver no módulo 'mdlUpdate' (só tem esse)

Agora, cole o código no módulo que voce acresentou

Copie o botão que está na planilha de exemplo e cole na sua planilha

Feche o arquivo de exemplo, mantenha somente o seu aberto.

Altere o nome da macro que está associada ao botão

botão direito no botão > selecione a opaçao : Atribuir Macro...
selecione a macro 'TrataCompartilahmento'

e pronto, é só testar

 
Postado : 25/03/2011 11:13 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

MUITO Obrigado ADELSON, mas depois de quebrar muito a cabeça (sou iniciante), encontrei uma solução simples, que nem precisa de MACRO:

O excel tem uma pasta pessoal que fica oculta.
1) Cliquei em exibir ara exibir esta pasta oculta e coloquei ela para obter os dados da web.

2) A minha planilha visível pega os dados importados da pasta oculta.

Assim, mesmo a pasta de trabalho estando compartilhada ela obtem os dados da web indiretamente da pasta oculta (que nao esta compartilhada) e por isso tem os dados atualizados a todo instante!

OBS: O arquivo "Personal" deverá ser compartilhado em rede juntamente com a pasta de trabalho.

 
Postado : 14/04/2011 7:35 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

LEGAL, boa sacada cara

 
Postado : 14/04/2011 8:04 pm