Comment peut-on réaliser un rechercher / remplacer d’une chaîne de caractère par une chaîne multi ligne ou par exemple le contenu du presse papier ?

 

Par ex : remplacer toto par toto+<RC>+tata … ou bien remplacer la chaine « Logo » par une image dans le presse papier !

 

J’utilise la fonction suivant qui fonctionne pour une texte mono ligne …

 

Function RechercherRemplacer(ByVal sMots As String, ByVal sMotBis As String, ByVal sRespecterCasse As Boolean) As Long

 

        Dim NombreDeFois As Long

 

        'oDocument = ThisComponent

        'Créer un objet JeCherche qui contiendra tous les paramètres nécessaires à ce remplacement

        oJeCherche = oDocument.createReplaceDescriptor

 

        'Definir la balise à rechercher dans le document OpenOffice Word

        oJeCherche.SearchString = sMots

 

        'Definir la valeur de remplacement

        oJeCherche.ReplaceString = sMotBis

 

        'Distinguer les majuscules des minuscules dans la recherche

        oJeCherche.SearchCaseSensitive = True

 

        'Ne rechercher que des mots

        oJeCherche.SearchWords = False

 

        'Rechercher à reculons

        oJeCherche.SearchBackwards = False

 

        'Faire une recherche avec la méthode des expressions régulières

        oJeCherche.SearchRegularExpression = False

 

        'Rechercher des paragraphes d’un style donné par SearchString

        oJeCherche.SearchStyles = False

 

        'Rechercher un texte similaire au texte cherché

        oJeCherche.SearchSimilarity = False

 

        'Remplacer toutes les balises

        NombreDeFois = oDocument.replaceAll(oJeCherche)

 

        RechercherRemplacer = NombreDeFois

 

    End Function

 

 

J’ai essayé en utilisant une commande UNO mais ça ne fonctionne  pas ..

 

Merci d’avance !

 

Répondre à