Title: Rechercher remplacer dans entete

Bonjour,

Désolé de revenir a la charge mais je rencontre un problème pour réaliser un rechercher / Remplacer dans un entête

Je suis entrain de développer une appli utilisant des modèles de documents

Je souhaite pouvoir remplacer des champs prédéfinis dans les entêtes du document Jai réussi a effectuer les remplacement dans lentête mais lorsque jutilise des tableaux dans lentête et y place des champs prédéfinis jai un plantage je ne comprends pas pourquoi

Ci-dessous mon code sous VB .Net express


   Function RechercherRemplacerToutPressePapier(ByVal sMots As String, ByVal sRespecterCasse As Boolean, ByVal sMotEntier As Boolean) As Long

        Dim oResultat As Object

        Dim oDispatcherLocal As Object

        Dim oIndex As Integer

        Dim oControleur As Object

        Dim Arguments(0) As Object

        oSel = oDocument.CurrentController.Frame

        Arguments(0) = MakePropertyValue("Hidden", False)

        sMots = ConvertToAllowsString(sMots)

        oDispatcherLocal = CreateUnoService("com.sun.star.frame.DispatchHelper")

        oMonTexte = oDocument.getText()

        oControleur = oDocument.CurrentController

        oJeCherche = oDocument.createSearchDescriptor

        'Definir la balise à rechercher dans le document OpenOffice Word

        oJeCherche.SearchString = sMots

        'Distinguer les majuscules des minuscules dans la recherche

        oJeCherche.SearchCaseSensitive = sRespecterCasse

        'Ne rechercher que des mots

        oJeCherche.SearchWords = sMotEntier

        'Rechercher à reculons

        oJeCherche.SearchBackwards = False

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

        oJeCherche.SearchRegularExpression = True

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

        oJeCherche.SearchStyles = False

        'Rechercher un texte similaire au texte cherché

        oJeCherche.SearchSimilarity = False

        oResultat = oDocument.findAll(oJeCherche)

        For oIndex = 1 To oResultat.getCount()

            ' sélectionner la chaine de recherche

            oMonCurseur = oMonTexte.createTextCursorByRange(oResultat.getByIndex(oIndex - 1))

            'Remplacement par le contenu du presse papier

            oControleur.select(oMonCurseur)

            oDispatcherLocal.executeDispatch(oSel, ".uno:Paste", "", 0, Arguments)

        Next

        RechercherRemplacerToutPressePapier = oResultat.getCount()

    End Function.

Est-ce que quelquun a déjà réalisé ceci ? Est ce un bug dans oO ?

Merci davance pour votre aide

Répondre à