Início
» Como fazer
»
Limpe o texto da planilha com uma macro reutilizável do ONLYOFFICE.
Limpe o texto da planilha com uma macro reutilizável do ONLYOFFICE.
Para realizar uma limpeza repetível em planilhas, crie uma pequena macro em JavaScript no Editor de Planilhas, selecione apenas o intervalo de texto que deseja alterar e teste-a primeiro em uma planilha duplicada. O exemplo abaixo remove caracteres não imprimíveis e elimina espaços em branco extras de uma coluna de e-mail, mantendo todas as outras linhas intactas.
As macros do ONLYOFFICE são executadas dentro do editor e utilizam a API JavaScript do Office. A documentação oficial ainda descreve o fluxo de trabalho como abrir Exibir > Macros , escrever ou colar o código e executá-lo no editor; nenhuma alteração recente identificada na documentação atual modifica esse processo básico. A macro em si é um script ilustrativo e reutilizável, não um relatório de um teste de software. Consulte o guia de início rápido de macros do ONLYOFFICE e a referência da guia Exibir do Editor de Planilhas .
Prepare uma cópia de segurança e defina a limpeza.
Suponha que uma planilha contenha uma lista de contatos com um cabeçalho na linha 1 e endereços de e-mail na coluna B, de B2 a B500. Alguns valores importados podem conter quebras de linha, tabulações ou espaços em branco no início e no final. Este exemplo limpa apenas essa coluna de texto. Ajuste o intervalo para corresponder à sua planilha antes de executar o código.
Salve uma cópia separada da pasta de trabalho ou duplique a planilha. Mantenha o original intacto até verificar o resultado.
Confirme se o intervalo selecionado contém apenas texto, e não fórmulas, IDs que dependem de espaços ou dados que precisam manter o espaçamento exato.
Mantenha a linha de cabeçalho fora do intervalo. A macro não detecta cabeçalhos nem decide quais colunas podem ser alteradas com segurança.
Use um intervalo específico da coluna, como B2:B500, em vez de todo o intervalo utilizado. Limpar todas as células indiscriminadamente pode alterar nomes, endereços, códigos ou resultados de fórmulas de maneiras inesperadas.
Nesta visualização ilustrativa do editor, a guia Exibir e o comando Macros aparecem acima da planilha. Abra-a após criar uma cópia de trabalho e confirmar qual coluna contém o texto a ser limpo.
Abra o editor de macros e adicione o script.
Abra a pasta de trabalho no Editor de Planilhas do ONLYOFFICE. Selecione Exibir > Macros para abrir o editor de macros e, em seguida, crie uma macro ou substitua o código inicial no editor. As macros do ONLYOFFICE usam a sintaxe JavaScript e a API do Office; elas não são macros VBA. O fluxo de trabalho de macros do editor e os métodos de API compatíveis são descritos no guia oficial de introdução às macros .
Cole este exemplo e, em seguida, substitua -o B2:B500pelo seu intervalo de texto real:
(function () {
var sheet = Api.GetActiveSheet();
var range = sheet.GetRange("B2:B500");
var rows = range.GetValue();
var functions = Api.WorksheetFunction;
for (var i = 0; i < rows.length; i++) {
var value = rows[i][0];
if (typeof value === "string") {
value = functions.CLEAN(value);
rows[i][0] = value.replace(/^\s+|\s+$/g, "")
.replace(/\s{2,}/g, " ");
}
}
range.SetValue(rows);
})();
A macro lê o intervalo em uma matriz bidimensional, processa as células de string e grava a matriz de volta no mesmo intervalo. CLEANRemove caracteres não imprimíveis; as duas substituições por expressão regular removem espaços em branco nas extremidades e reduzem espaços em branco repetidos dentro de uma string a um único espaço. A referência da API confirma que GetValueela pode retornar uma matriz bidimensional para um intervalo e que SetValueaceita matrizes; as referências de GetValue , SetValue e CLEAN documentam essas chamadas.
Como o script grava valores de volta, não o direcione para células que contenham fórmulas: células com fórmulas podem ser substituídas por seus valores calculados atuais. Ele também não remove registros duplicados, não padroniza o uso de maiúsculas e minúsculas, não valida se um endereço é válido para entrega ou não altera os formatos de números de telefone. Essas são regras de limpeza separadas e devem ser projetadas e testadas independentemente.
Nesta visualização ilustrativa do editor de macros, a área de código e o controle Executar ficam acima da planilha ativa. O script de limpeza do artigo usa os métodos de leitura e gravação de intervalo documentados, mostrados aqui como um exemplo simplificado da API.
Execute-o em uma faixa controlada
Verifique o intervalo literal mais uma vez. Se a lista terminar na linha 240, por exemplo, use B2:B240 em vez de processar centenas de linhas não utilizadas.
Clique em Executar no editor de macros. Se o editor reportar um erro de sintaxe, revise as aspas, parênteses e chaves antes de alterar o intervalo ou adicionar mais lógica.
Retorne à planilha e inspecione várias células, incluindo um valor que precisava de limpeza, um valor que já estava no formato correto e uma célula em branco.
Começar com um intervalo estreito facilita a compreensão do efeito. Assim que o resultado estiver correto, você pode reutilizar a macro em outra planilha, editando o intervalo cuidadosamente. Não presuma que uma letra de coluna ou limite de linha permaneça válido em outra pasta de trabalho.
Se o comando Macros estiver ausente ou o código não puder ser executado, verifique se as macros estão habilitadas no editor ou desabilitadas pela configuração do aplicativo host. No editor online, um administrador pode controlar a disponibilidade de macros; as configurações avançadas do Editor de Planilhas do produto descrevem as opções de macros para o usuário. Evite habilitar a execução automática para arquivos de fontes desconhecidas; execute apenas códigos que você entenda.
Esta folha de contato ilustrativa mostra um tipo prático de dados para uma macro de limpeza de texto, desde que o intervalo selecionado contenha apenas o campo de texto desejado e exclua o cabeçalho.
Verifique o resultado antes de reutilizar a macro.
Compare a coluna limpa com a cópia original, em vez de julgar o sucesso apenas pela aparência. Confirme se cada e-mail não vazio ainda está na mesma linha, se nenhum contato desapareceu e se as únicas diferenças são os caracteres e espaços que você pretendia normalizar. Verifique uma amostra perto do início, do meio e do fim do intervalo escolhido. Procure por espaços no início ou no fim de um valor, se o seu editor permitir, e inspecione os valores importados que continham quebras de linha ou caracteres de controle.
Compare também a contagem de linhas e quaisquer fórmulas, filtros ou pesquisas dependentes que utilizem a coluna. Se o resultado de uma fórmula for alterado inesperadamente, desfaça a edição ou restaure a cópia de trabalho; a macro deve ser restrita a células de texto simples. Para uma planilha maior ou crítica para os negócios, compare a coluna limpa por completo com o backup ou utilize uma coluna de saída separada primeiro, para que as alterações permaneçam visíveis para revisão.
Esta planilha ilustrativa coloca as colunas de e-mail originais e limpas lado a lado, com a mesma quantidade de linhas exibidas; compare seus valores reais antes de confiar na coluna limpa.
Mantenha a limpeza repetível
Após a primeira execução correta, salve a pasta de trabalho para que a macro permaneça disponível com o documento, de acordo com o fluxo de trabalho de macros do editor. Não se deve presumir que uma macro armazenada em uma pasta de trabalho aparecerá automaticamente em todos os novos arquivos. Para importações recorrentes, mantenha um modelo limpo ou uma cópia de origem protegida, documente o intervalo que a macro espera e atualize-o quando o layout da planilha for alterado. As macros do ONLYOFFICE são úteis para regras de limpeza determinísticas; elas não podem determinar se um valor está correto ou se uma alteração é apropriada para o seu conjunto de dados.
O padrão confiável é simples: preserve uma cópia da fonte, selecione um intervalo conhecido, faça uma transformação definida e compare o resultado antes de compartilhar ou importar os dados para outro local.