Dados Externos

São apenas exemplos, tem que ser com macro porque os arquivos são criados com códigos diferentes. dentro de cada arquivo tem 11 abas, porém não consigo ler arquivos externos e mandar para pedidos.ods. No excel eu sei fazer, no libre estou penando.

Bom dia @Amaral, pelo que vi você gostar de desenvolver macros complicadas assim como eu, isso é muito bom porque o conhecimento vai longe, aprendi e estou aprendendo muito aqui no ask. Segue planilhas com a macro que entendi que você precisa.

125.ods

Pedidos.ods

Dúvidas, estamos à disposição!

Sou curioso, porém não tenho as ferramentas certa. Sei muito no excel mas no meu serviço tem o libre e fui incumbido de criar um sistema no excel sem ter excel em todos os PCs. Resumindo, tenho que migrar tudo para o libre. Comprei livro, pesquiso e ponho em prática. Para piorar até na planilha do google (java script) estou trabalhando. Agradeço a este espaço e seus colaboradores que muito nos ajudam a trabalhar com o libre. Vou adaptar sua sugestão as minhas necessidades e dou um retorno mais. Muito Obrigado.

Funcionou, porém almejo lançar na planilha Pedido.ods os valores valores dos campos produto e preço do arquivo 125.ods. Como são mais de duas planilhas vou utilizar um comando for ou while para realizar esse processo. Estou tentando adaptar sua sugestão.
Teria como fazer:

PlanPedidos = ThisComponent.Sheets.GetByName("Planilha1")
EnderecoPlan125 = convertToURL( Environ("USERPROFILE")&"\Downloads\125.xls" )

e fazer

PlanPedidos .Sheets.getByName("Planilha1").getCellByPosition(1, 5).String=		EnderecoPlan125.Sheets.getByName("Planilha1").getCellByPosition(1, 1).String

PlanPedidos .Sheets.getByName("Planilha1").getCellByPosition(3, 5).String=EnderecoPlan125.Sheets.getByName("Planilha1").getCellByPosition(4, 2).String 

Assim ficaria mais fácil para colocar um comando for ou while.

@Amaral vc pode sim utilizar o .GetCellByPosition() no lugar de .GetCellRangeByName(), porém lembre-se de utilizar 1 para 1, ou seja, 3 colunas e 2 linha em uma planilha então deve utilizar 3 colunas e 2 linhas na outra planilha. Se vc colocar os campos como realmente ficarão no seu projeto final fica mais fácil de te ajudar, porque acima vc diz que quer lançar valores da planilha pedidos na planilha 125, mas no seu exemplo os campos tem nomes diferentes.

O problema é que são de arquivos distintos.

Sua ideia é ótima, porém os dados tem que saírem de 125.xls e irem para Pedidos.ods estou tentando inverter a sua sugestão.

@Amaral fiz a inversão da ideia para você, verifique os anexos na resposta, um dúvida, por quê utilizar documentos separados, poderia utilizar um arquivo só, ficaria mais leve, mais rápido e mais fácil.

Eu trabalho em um setor que recebe diversas planilhas iguais porém com nomes e informações distintas e, por meio de uma macro, leio todas elas identificando possíveis erros de preenchimentos. Existe uma planilha que recebe as informações das demais e faz essa verificação. Estou lendo diversos artigos mas eles não contemplam minha dúvida.

Eu já tinha pensado nisso, porém não consegui fazer para outras abas.
=‘file:///C:/Users/amaral.santos/Downloads/789.xls’#$Planilha1.C2 >> dá certo se o arquivo tem uma aba
=‘file:///C:/Users/amaral.santos/Downloads/789.xls’#$Amigo.C2 >>>não dá certo para outra aba no mesmo arquivo.

Funciona apenas para uma aba.
Para duas abas não funciona.
=‘file:///C:/Users/amaral.santos/Downloads/789.xls’#$Planilha1.C2 >> dá certo se o arquivo tem uma aba =‘file:///C:/Users/amaral.santos/Downloads/789.xls’#$Amigo.C2 >>>não dá certo para outra aba no mesmo arquivo.

Estou testando.

Ola @Amaral, quando der resposta, coloque o nome a quem se destina fica mais pratico. coloque o @ na frente do nome do usuário, assim se no cadastro estiver escolhido por aviso por email, será enviado

Acho que a resposta acima cabe a mim, fiz teste aqui com xls, e funciona normalmente.

Sobre outras abas, teria que indicar quais arquivos tem mais que uma aba e o nome delas. seriam mais variáveis…

Deu certo.
Muito obrigado.

Boa noite @Gilberto. Passei o dia tentando aplicar o comando =‘file:///C:/Users/amaral.santos/Downloads/789.xls’#$Planilha1.C2 sem sucesso. Após a sua publicação, as 18h, tentei refazer o mesmo processo utilizando as planilhas que encaminhastes e deu tudo certo. Consegui acessar mais de uma aba, agora é só trabalhar para atender as minhas necessidades. Vou postar outra pergunta com essa questão pois tenho que trabalhar simultaneamente com duas planilhas abertas e ainda não consigo. Muito obrigado, sua ajuda foi muita importante. Grato.

@Amaral, da maneira que montei, o arquivo não é aberto, a busca é feita no arquivo salvo, se estiver alterado e não salvo pegara a informação velha, se houver.

@Gilberto, notei que as informações não são atualizada amenos que eu recarregue o planilha pedido.
Ao alterar a planilha 125.xls e salvar, no arquivo Pedidos.ods as informações não são atualizadas.Como proceder?

@Amaral, uma maneira rápida de atualizar e apagar os dados da coluna Produto, e acionar a macro, vai atualizar todos.Ou apague só o desejado, também funciona.

Contudo creio que a atualização deva ser automática, em tempo real certo. Vide alternativa no Complemento de minha resposta.

@gilberto. Já tentei apagar e reativar a macro mas não deu certo. O valor não é atualizado.

@Amaral, a macro só funciona no arquivo da primeira solução, no vinculado não.