Remplacez des mots dans le document avec la macro ONLYOFFICE

1 novembre 2023By Dasha

L’édition de documents est un aspect fondamental de nos tâches quotidiennes, et nous sommes souvent à la recherche d’outils qui peuvent réduire les tâches répétitives. Dans cet article, nous allons créer une macro conçue pour remplacer les mots du document à l’intérieur d’une sélection.

Remplacez des mots dans le document avec la macro ONLYOFFICE

Construction de la macro

Tout d’abord, nous accédons au document actuel dans l’éditeur de documents. Ensuite, nous ciblons le texte sélectionné et capturons les valeurs. C’est dans cette plage que nous avons l’intention de trouver et de remplacer des mots :

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

Ensuite, nous supprimons le texte sélectionné :

oRange.Delete();

Nous assignons le mot que nous recherchons à la variable wordToFind, et le mot par lequel nous voulons le remplacer à la variable 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

Nous appliquons une expression régulière à rawText (le texte dans la plage sélectionnée) pour trouver toutes les occurrences de wordToFind et les remplacer par replacementWord. L’expression régulière avec l’indicateur “g” garantit que toutes les occurrences sont remplacées. Le texte modifié est stocké dans la variable cleanedText :

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

Une fois la recherche et le remplacement terminés, nous créons un nouveau paragraphe dans le document en utilisant Api.CreateParagraph(). Dans ce paragraphe, nous ajoutons le texte avec les mots remplacés. Enfin, nous réinsérons le paragraphe modifié dans le document :

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

La macro complète est la suivante :

(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]);
})();

Exécutons maintenant notre macro et voyons comment elle fonctionne !

Nous espérons que cette macro sera un ajout utile à votre arsenal et qu’elle simplifiera votre travail d’édition de documents. Les macros ONLYOFFICE sont conçues pour élever votre flux de travail à un niveau supérieur.

Ne manquez pas l’occasion d’exploiter la puissance de l’API ONLYOFFICE. Notre vaste bibliothèque de méthodes API est votre clé pour transformer vos idées en réalité. Si vous avez des questions ou des concepts innovants, nous vous encourageons à les partager avec nous. Votre contribution est très appréciée et nous sommes ravis de pouvoir collaborer avec vous. Nous vous souhaitons bonne chance dans vos projets exploratoires !