Voici un exemple ci-dessous pour effectuer une recherche
sur une chaîne et remplacer toutes les occurences par le
contenu du presse-papier.
C'est écrit en OOBasic et ça marche parfaitement en tant que Macro
(j'ai fait le test avec une image dans le presse-papier)
 
Sub RechercherRemplacer
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    oDocument = ThisComponent
    oText = oDocument.getText()
    oController = ThisComponent.CurrentController
    oFrame = oController.Frame
 
    search = oDocument.createSearchDescriptor()
 
    ' Définition de la chaîne à remplacer
    search.setSearchString("test")
 
    result = oDocument.findAll(search)
 
    For count=1 To result.getCount()
        ' sélectionner la chaine de recherche
        aCursor = oText.createTextCursorByRange(result.getByIndex(count-1))
 
        ' Remplacement par un texte
        ' aCursor.setString("Chaine de remlpacement")
 
        'Remplacement par le contenu du presse papier
        oController.select(aCursor)
        dispatcher.executeDispatch(oFrame, ".uno:Paste", "", 0, Array())
    Next
 
    msgbox "Nombre de remplacements = " + result.getCount()
 
End Sub
 
J'espère que cela résoudra votre problème.
Cdlt.
 
 -----Message d'origine-----
De : Cezame Concept [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 8 mars 2006 12:15
À : prog@fr.openoffice.org
Objet : [prog] Urgentissime !!! OLE et rechercher Remplacer par autre chose que du texte ...

Voila mon problème ...
 
Je souhaite remplacer une chaîne de caractère dans un document oOWriter par le contenu du presse papier ...
 
Lorsque celui-ci contient du texte pas de problèmes ...
 
Si maintenant par exemple je veux utiliser un modèle de document dans lequel je place un mot clé (prenons pour exemple  %TableauCalc% ) par un tableau oOCalc contenant des données variables ...
 
Lors de la confection du modèle le mot clé %TableauCalc% positionnera en fait le tableau oOCalc a insérer ..
 
Je pensais copier le tableau dans le presse papier et ensuite remplacer la chaîne %TableauCalc% par le contenu du presse papier ...
Cette fonction peut être également utilisée par ex pour positionner une image comme un logo ou autre ...
 
Quelqu'un aurait t'il une solution ...
 
Je suis entrain de finaliser un assemblage .NET réalisé sous VB Express 2005 qui contient deux classes l'une pour oOWriter l'autre pour oOCalc ... le but étant de rendre réutilisable au maximum les fonctions dans divers applicatifs sous des environnements de développements différents ... (VB, Windev ...)
 
Merci de votre aide ...
 
 

Répondre à