Remova espaços extras com a macro ONLYOFFICE
No âmbito da edição de texto, uma macro eficiente que remova espaços desnecessários é essencial. Ele aumenta a produtividade e agiliza o fluxo de trabalho. Nesta postagem do blog, orientaremos você na criação de uma macro do ONLYOFFICE projetada para remover espaços excessivos do texto selecionado.
Construindo a macro
Começamos acessando o documento ativo e capturando o conteúdo selecionado:
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();
Em seguida, excluímos o texto selecionado. Posteriormente, será substituído pelo texto formatado sem espaços extras:
oRange.Delete();
Dividimos o rawText em uma série de parágrafos baseados em caracteres de nova linha. Cada elemento da matriz de parágrafos representa um parágrafo do texto original:
// Split the original word into an array of paragraphs based on newline characters
const paragraphs = rawText.split('\n');
Em seguida, o loop percorre cada parágrafo da matriz de parágrafos e o limpa substituindo os espaços em branco consecutivos por um único espaço. Os parágrafos limpos são armazenados no array cleanParagraphs:
const cleanedParagraphs = [];
// Clean each paragraph and store it in the cleanedParagraphs array
for (const paragraph of paragraphs) {
// Use a regular expression to replace consecutive whitespaces with a single space
const cleanedParagraph = paragraph.replace(/\s+/g, ' ');
cleanedParagraphs.push(cleanedParagraph);
}
Depois de limpar cada parágrafo, usamos o método join(‘\n’) para combinar os parágrafos limpos novamente em uma única string, onde cada parágrafo limpo é separado por um caractere de nova linha (\n). Esta etapa é crucial porque ao inserir texto em um documento, precisamos fornecer uma única string com quebras de parágrafo apropriadas:
// Join the cleaned paragraphs back together with newline characters
const cleanedText = cleanedParagraphs.join('\n');
Por fim, criamos um novo parágrafo (oParagraph) e inserimos o CleanText no documento. Este cleanText contém todos os parágrafos limpos combinados em uma única string, com caracteres de nova linha para preservar a estrutura original do parágrafo:
// Insert the cleanedText with original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
Todo o código da macro é o seguinte:
(function()
{
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();
oRange.Delete();
// Split the original word into an array of paragraphs based on newline characters
const paragraphs = rawText.split('\n');
// Create an array to store cleaned paragraphs
const cleanedParagraphs = [];
// Clean each paragraph and store it in the cleanedParagraphs array
for (const paragraph of paragraphs) {
// Use a regular expression to replace consecutive whitespaces with a single space
const cleanedParagraph = paragraph.replace(/\s+/g, ' ');
cleanedParagraphs.push(cleanedParagraph);
}
// Join the cleaned paragraphs back together with newline characters
const cleanedText = cleanedParagraphs.join('\n');
// Insert the cleanedText with original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
})();
Vamos executar nossa macro e ver como funciona!
Esperamos que esta macro seja um recurso valioso em seu kit de ferramentas, elevando sua produtividade a novos patamares. Com as macros do ONLYOFFICE, você libera o potencial de maior produtividade, dando acesso a soluções eficientes e automatizadas.
Ao se aventurar na criação de macros, não negligencie as possibilidades disponibilizadas pela API ONLYOFFICE. Se você tiver dúvidas ou ideias inovadoras, não hesite em compartilhá-las, seja por meio de comentários ou entrando em contato conosco. Valorizamos sua opinião e estamos entusiasmados com o potencial de colaboração! 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.