Substitua palavras no documento pela macro ONLYOFFICE

1 novembro 2023By Klaibson

A edição de documentos é um aspecto fundamental de nossas tarefas diárias, e frequentemente ansiamos por ferramentas que possam aliviar o fardo de tarefas repetitivas. Nesta postagem do blog, construiremos uma macro projetada para substituir palavras no documento dentro de uma seleção.

Substitua palavras no documento pela macro ONLYOFFICE

Construindo a macro

Primeiro, acessamos o arquivo atual no editor de documentos. Em seguida, direcionamos o texto selecionado e capturamos os valores. Este intervalo é onde pretendemos encontrar e substituir palavras:

const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();

Em seguida, excluímos o texto selecionado:

oRange.Delete();

Atribuímos a palavra que procuramos à variável wordToFind, e a palavra pela qual queremos substituí-la à replacementWord:

// Define the word to find and the word to replace it with
const wordToFind = "oldWord"; // Replace "oldWord" with the word you want to find
const replacementWord = "newWord"; // Replace "newWord" with the word you want to replace it with

Aplicamos uma expressão regular ao rawText (o texto dentro do nosso intervalo selecionado) para encontrar todas as instâncias de wordToFind e substituí-las por replacementWord. A expressão regular com o sinalizador “g” garante que todas as ocorrências sejam substituídas. O texto modificado é armazenado na variável cleanText:

// Use regular expression to find and replace the word
const cleanedText = rawText.replace(new RegExp(wordToFind, "g"), replacementWord);

Assim que a localização e substituição for concluída, criamos um novo parágrafo no documento usando Api.CreateParagraph(). Neste parágrafo, adicionamos texto com as palavras substituídas. Finalmente, inserimos o parágrafo modificado de volta no documento:

// Insert the cleanedText with the original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph]);

A macro inteira é a seguinte:

(function()
{
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();
oRange.Delete();
// Define the word to find and the word to replace it with
const wordToFind = "oldWord"; // Replace "oldWord" with the word you want to find
const replacementWord = "newWord"; // Replace "newWord" with the word you want to replace it with
// Use regular expression to find and replace the word
const cleanedText = rawText.replace(new RegExp(wordToFind, "g"), replacementWord);
// Insert the cleanedText with the original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph]);
})();

Agora vamos executar nossa macro e ver como funciona!

Esperamos que esta macro seja uma adição útil ao seu arsenal e agilize a edição de documentos. As macros do ONLYOFFICE foram projetadas para elevar seu fluxo de trabalho a novos patamares.

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!