Pessoal, seguinte:
Arquivos de interface com usuário nas máquinas, banco de dados (Bdados) no servidor da empresa. Para atualizar, editar gravar dados no Bdados, eu tentei:
Dim Caminho As String
Caminho = Inicio.Range("I3").Value
'I3 contém o endereço do Bdados (Z:\Documentos\blabla\)
Workbooks.Open (Caminho & BDados), False, ReadOnly:=False
Windows(BDados).Activate
Funciona perfeitamente... por um dia. Toda manhã eu tinha que reconfigurar, mas o endereço era exatamente o mesmo. Até hoje não sei o problema, acho que alguma configuração de segurança do próprio servidor.
Por isso mudei o código para abrir o Bdados:
Workbooks.Open (ThisWorkbook.Path & "\" & BDados), False, ReadOnly:=False
Windows(BDados).Activate
Mas agora os usuários trabalham no atalho das planilhas de interface salvas no servidor (por causa do "ThisWorkbook.Path"), e ficam mais lentas.
Eu precisava de um código para encontrar o endereço do Bdados no servidor da empresa. Posso definir a unidade (Z, Y, X, etc) para facilitar. Desse modo:
Dim Caminho As String
Caminho = ????? Código que descubra o endereço de Bdados na unidade Z, pois eu
digitando o endereço numa célula não funciona, ele para de funcionar de um dia
para o outro.
Workbooks.Open (Caminho & BDados), False, ReadOnly:=False
Windows(BDados).Activate
Portanto, ele vai descobrir o endereço cada vez que eu pedir para abrir o Bdados. Mesmo que haja variação de endereço, ele vai encontrar e abrir o arquivo na unidade Z. E meus arquivos de interface funcionam nas suas respectivas máquinas, não no servidor da empresa, muito mas rápido.
Desde já, obrigado.
Postado : 08/03/2021 11:14 pm