Rimuovi gli spazi extra con la macro di ONLYOFFICE
Nell’ambito dell’editing del testo, è essenziale una macro efficiente che rimuova gli spazi non necessari. Migliora la produttività e semplifica il flusso di lavoro. In questo post del blog, ti guideremo attraverso la creazione di una macro di ONLYOFFICE progettata per rimuovere gli spazi in eccesso dal testo selezionato.
Creazione della macro
Iniziamo accedendo al documento attivo e catturando il contenuto selezionato:
const oDocument = Api.GetDocument();
const oRange = oDocument.GetRangeBySelect();
const rawText = oRange.GetText();
Quindi eliminiamo il testo selezionato. In seguito verrà sostituito con il testo formattato senza spazi aggiuntivi:
oRange.Delete();
Abbiamo diviso il rawText in una serie di paragrafi basati su caratteri di nuova riga. Ogni elemento della matrice paragrafi rappresenta un paragrafo dal testo originale:
// Split the original word into an array of paragraphs based on newline characters
const paragraphs = rawText.split('\n');
Quindi il ciclo scorre attraverso ogni paragrafo nella matrice paragrafi e lo pulisce sostituendo spazi bianchi consecutivi con un singolo spazio. I paragrafi corretti sono memorizzati nella matrice cleanedParagraphs:
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);
}
Dopo aver corretto ogni paragrafo, utilizziamo il metodo join(‘\n’) per combinare nuovamente i paragrafi puliti in un’unica stringa, in cui ogni paragrafo corretto è separato da un carattere di nuova riga (\n). Questo passaggio è fondamentale perché, quando si inserisce un testo in un documento, è necessario fornire una singola stringa con interruzioni di paragrafo appropriate:
// Join the cleaned paragraphs back together with newline characters
const cleanedText = cleanedParagraphs.join('\n');
Infine, creiamo un nuovo paragrafo (oParagraph) e inseriamo il CleanedText nel documento. Questo cleanedText contiene tutti i paragrafi puliti combinati in un’unica stringa, con caratteri di nuova riga per preservare la struttura originale del paragrafo:
// Insert the cleanedText with original paragraph structure
const oParagraph = Api.CreateParagraph();
oParagraph.AddText(cleanedText);
oDocument.InsertContent([oParagraph], { "KeepTextOnly": true });
L’intero codice macro è il seguente::
(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 });
})();
Eseguiamo la nostra macro e vediamo come funziona!
Ci auguriamo che questa macro sia una risorsa preziosa nel tuo toolkit, ottimizzando la tua produttività a nuovi livelli. Con le macro ONLYOFFICE, sblocchi il potenziale per una maggiore produttività, dandoti accesso a soluzioni efficienti e automatizzate.
Mentre ti avventuri nella creazione di macro, non trascurare le possibilità messe a disposizione dall’API ONLYOFFICE. Se hai domande o pensieri innovativi, non esitare a condividerli, tramite commenti o contattandoci. Apprezziamo il tuo contributo e siamo entusiasti del potenziale di collaborazione! Buona fortuna per i tuoi sforzi esplorativi!
Crea il tuo account ONLYOFFICE gratuito
Visualizza, modifica e collabora su documenti, fogli, diapositive, moduli e file PDF online.