Como excluir palavras específicas em planilhas usando uma macro do ONLYOFFICE
Ao trabalhar com planilhas, é comum encontrar cenários que exigem a busca por uma palavra específica nas células de uma planilha, juntamente com possíveis modificações ou exclusões de instâncias. Nesta postagem do blog, desenvolveremos uma macro projetada para pesquisar e excluir ocorrências de uma palavra específica em uma planilha.
Construindo a macro
const oWorksheet = Api.GetActiveSheet();
const oRange = oWorksheet.GetSelection();
const wordToCheck = "apple";
Para começar, pegamos a planilha ativa e a seleção nas variáveis oWorksheet e oRange, e definimos a palavra que queremos pesquisar em toda a planilha.
let index = 0;
oRange.ForEach(function (range) {
index++;
const cellValue = oWorksheet.GetRange(range).GetValue();
const contains = containsWord(cellValue, wordToCheck);
Em seguida, iteramos pelo intervalo usando um loop foreach, obtemos o valor em cada célula da seleção e o passamos para o método containsWord(). O método containsWord() usa dois parâmetros: o valor na célula e a palavra que queremos pesquisar.
if (contains === 1) {
//Uncomment the console.log() to view deleted cells in the browser's console.
// console.log(`The sentence ${cellValue} contained the word you wanted to delete, and was deleted.`);
oWorksheet.GetRange(range).Clear();
} else if (contains === true) {
oWorksheet
.GetRange(range)
.SetFillColor(Api.CreateColorFromRGB(204, 0, 0));
}
Após a conclusão do método containsWord(), a ação subsequente é determinada pelo valor retornado. Se o valor for 1, indicando uma correspondência exata, a célula será limpa. Por outro lado, se o método retornar verdadeiro, significando a presença da palavra alvo dentro de caracteres adicionais, a célula será destacada.
function containsWord(sentence, word) {
const trimmedSentence = sentence.trim();
const trimmedWord = word.trim();
if (trimmedSentence === trimmedWord) {
return 1;
} else {
const regex = new RegExp("\\b" + trimmedWord + "\\b", "i");
return regex.test(trimmedSentence);
}
}
O método containsWord() serve como a função computacional principal nesta macro. Aceita o valor da célula e a palavra a ser pesquisada, recortando-a para eliminar espaços adicionais. Se o valor da célula corresponder precisamente à palavra de destino sem conteúdo adicional, ele retornará 1. No entanto, se o valor da célula contiver a palavra de destino junto com outros caracteres, como dentro de uma frase, ele retornará verdadeiro.
O código de macro completo
(function () {
const oWorksheet = Api.GetActiveSheet();
const oRange = oWorksheet.GetSelection();
const wordToCheck = "apple";
let index = 0;
oRange.ForEach(function (range) {
index++;
const cellValue = oWorksheet.GetRange(range).GetValue();
const contains = containsWord(cellValue, wordToCheck);
if (contains === 1) {
//Uncomment the console.log() to view deleted cells in the browser's console.
// console.log(`The sentence ${cellValue} contained the word you wanted to delete, and was deleted. `);
oWorksheet.GetRange(range).Clear();
} else if (contains === true) {
oWorksheet
.GetRange(range)
.SetFillColor(Api.CreateColorFromRGB(204, 0, 0));
}
});
function containsWord(sentence, word) {
const trimmedSentence = sentence.trim();
const trimmedWord = word.trim();
if (trimmedSentence === trimmedWord) {
return 1;
} else {
const regex = new RegExp("\\b" + trimmedWord + "\\b", "i");
return regex.test(trimmedSentence);
}
}
})();
Vamos ver o desempenho de nossa macro.
E aí está, a macro de exclusão de palavras da planilha em ação! Esta ferramenta bacana foi projetada para remover palavras específicas sem esforço, facilitando a edição da planilha, economizando tempo e aprimorando o fluxo de trabalho da planilha. Boa edição!
Não perca a chance de aproveitar o poder da API ONLYOFFICE. Nossa extensa biblioteca de métodos API é a chave para transformar suas ideias em realidade. Se você tiver alguma dúvida ou conceitos inovadores, encorajamos você a compartilhar conosco. Sua contribuição é altamente valorizada e estamos entusiasmados com a possibilidade de colaborar com você. Boa sorte em seus empreendimentos exploratórios!
Crie sua conta gratuita no ONLYOFFICE
Visualize, edite e colabore em documentos, planilhas, slides, formulários e arquivos PDF online.