Eu tenho uma fonte de dados onde o ponto é usado como separador decimal, ou seja: 1.49
significa "um e quase meio". Não é possível mudar isso.
Este número deve ser copiado e colado em uma célula numérica no Excel ou Calc. O arquivo é público e qualquer pessoa pode obtê-lo (venha aqui) então não tenho controle sobre o PC/programa do usuário.
A maioria dos usuários são italianos com localidade it_IT, onde os decimais são separados por vírgula, ou seja: 1,49
significa "um e quase meio" (observe a vírgula em vez do ponto).
Quando o usuário de localidade italiana tenta copiar e colar 1.49
da fonte de dados em sua célula numérica, o Calc/Excel enlouquece porque não reconhece o número como decimal.
Se eu definir o idioma no celular, tudo funciona.... até fechar o programa. Se eu abrir o documento novamente, a configuração será perdida e não funcionará mais
Então, minha pergunta:
- É possível forçar a localidade do arquivo/planilha para "en_US", independentemente da localidade definida pelo usuário?
- É possível manter o atributo Idioma?
- Alguma outra ideia? (não "peça ao seu usuário para alterar a configuração", por favor)
Prefiro evitar macros, se possível.
Obrigado!
Atualizar: Estou no Windows 10 x64 e acabei de atualizar para o LibreOffice 5.4.4 x64. A configuração de idioma por célula ainda não foi salva. Nem está claro para mim se ésupostopara ser salvo ou se for apenas uma configuração de visualização (acho que é a primeira opção, já que o botão Salvar acende quando eu faço isso..)
Responder1
Meus amigos do TurboLab.itpropostoa melhor solução até agora:
- defina a célula projetada para aceitar a entrada do usuário como "texto"
- em uma célula temporária próxima, substitua o ponto por vírgula por algo como
=SUBSTITUTE(E16;".";",")
- faça as contas no valor substituído
- reconverta-o se necessário
O arquivo final, para os interessados,está disponível aqui.
A única grande desvantagem é que isso só funciona se o usuário tiver uma localidade onde "vírgula" é o separador decimal, como italiano.
HTH.
Responder2
Solução manual, a ser repetida sempre que você colar:
Após copiar e colar; as células coladas são selecionadas...
Use imediatamente Localizar e Substituir, primeiro substitua qualquer "." (separador de milhares) por "" (ou seja, "nada") e, em seguida, substitua "," (separador de decimais original) por "." o novo separador de decimais).
Pode ser necessário usar "Colar especial" para adicionar 0 ou multiplicar por 1 para que sejam interpretados como números(==> coloque 1 ou 0 em qualquer célula, copie-a, depois faça "Colar especial" e selecione "adicionar valor" ou "multiplicar valor").
Automação: "Gravar uma macro", faça o procedimento acima, "parar a gravação". Lá você também tem a possibilidade de atribuir uma tecla de atalho.