EDIT:
Eu poderia ter resolvido, sem saber qual era a causa. Ainda estou executando testes para determinar se ele funciona, mas de um usuário onde a conexão funcionou conforme o esperado, exportei um arquivo de conexão e salvei a pasta de trabalho enquanto a conexão de dados estava configurada para sempre usar esse arquivo de conexão.
Estamos trabalhando com algumas pastas de trabalho ativadas por macro, todas armazenadas em um compartilhamento de rede. Para simplificar a situação: a pasta de trabalho A busca alguns dados da pasta de trabalho B. Refresh All
normalmente atualiza a pasta de trabalho conforme pretendido. Tudo bem até agora.
Para alguns usuários, a conexão de dadosparecefalhar de alguma forma, e o Excel então tenta abrir o arquivo inteiro em vez de apenas puxar a tabela. É verdade que se deixarmos abrir o arquivo, a atualização será concluída. Mas a sobrecarga adicional de abrir e fechar esse arquivo específico não é realmente aceitável (é um recurso pesado).
Vou reiterar que isso não ocorre para todos os usuários, e para aqueles ocorre de forma consistente.
Não sei se é um problema de permissão, pois todos os usuários podem abrir todos os arquivos. Mesmo aqueles que enfrentam esse problema podem abrir todos os arquivos do compartilhamento manualmente sem nenhum problema e sem precisar autenticar novamente ou algo parecido.
Como posso começar a solucionar isso? Estou pensando que isso tem a ver com autenticação de alguma forma, mas como faço para descobrir onde/como/por que está falhando? A conexão de dados está configurada para usar as credenciais do usuário conectado.
Responder1
Então a culpa não foi nada do que eu pensei que fosse. Acontece que o Excel não pode extrair a tabela desejada quando o arquivo é aberto por outra pessoa, a menos que a instância local do Excel possa abrir primeiro uma versão somente leitura.