Bonjour,
 
Je ne suis pas expert en Basic (j'utilise principalement le SDK en C++).
Ce que je peux dire c'est que "result" est un objet UNO de type XIndexAccess.
Pour plus de détails, voir la fonction findAll() dans le guide de développement du

De : Cezame Concept [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 8 mars 2006 16:04
À : prog@fr.openoffice.org
Objet : RE: [prog] Urgentissime !!! OLE et rechercher Remplacer par autre chose que du texte ...

J''ai un soucis avec cette commande result est un variant ?

 

Merci d'avance !

 


De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 8 mars 2006 14:26
À : prog@fr.openoffice.org
Objet : RE: [prog] Urgentissime !!! OLE et rechercher Remplacer par autre chose que du texte ...

 

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 ...

 

 

 

---------------------------------------------------------------------------------------
Wanadoo vous informe que cet e-mail a ete controle par l'anti-virus mail.
Aucun virus connu a ce jour par nos services n'a ete detecte.

 

Répondre à