Dans n'importe quel document Writer, teste le code suivant :

        Sub Main
        Dim oDoc as object, oText As Object, oWord As Object, oTrouve As
Object

        oDoc = ThisComponent
        oWord = oDoc.createSearchDescriptor
        oWord.SearchString = "Waouah"               'String très improbable
        oTrouve = oDoc.FindFirst(oWord)

        If IsNull(oTrouve) then msgbox "Objet Null"
        If oTrouve = Null then msgbox "Objet Null"
        End Sub

La fonction IsNull fait afficher "Objet Null" alors que l'égalité
directe ne donne rien. Il n'y a pas équivalence.

Jean-Marc

Marceau GUIHARD a écrit :

> Une simple suggestion :
> Peut-être pourrais-tu t'en tirer en faisant redémarrer le findnext
> d'un curseur (qui du coup redeviendrait utile) créé un caractère après
> le dernier mot trouvé AVANT d'insérer l'image à la place du mot.
> Comment insère-tu l'image à la place du mot ?
> Cordialement
>
> Marceau
>
> Bruno ABRATANSKI a écrit :
>
>> Voilà le code que j'utilise, à noter que je ne développe pas en basic
>> mais
>> dans un langage de gestion appelé WinDev. Le code est assez proche.
>> Quand la
>> ligne commence par // c'est pour les commentaires (REM)
>>
>> lPosTrouve est un objet OLE dynamique
>>
>> //Créer un objet JeCherche qui contiendra tous les paramètres
>> nécessaires à
>> ce remplacement
>> :oJeCherche=:oDocument>>createSearchDescriptor()
>>
>> //Definir la balise à rechercher dans le document OpenOffice Word
>> :oJeCherche>>SearchString=pMotARechercher
>>
>> //Ne rechercher que des mots
>> :oJeCherche>>SearchWords=Vrai
>>
>> lPosTrouve = :oDocument>>findFirst(:oJeCherche)
>>
>> boucle
>>     si lPosTrouve = Null alors sortir
>>     lPosTrouve>>String=""
>>     lPosTrouve = :oDocument>>findNext(lPosTrouve>>End, :oJeCherche)
>> FIN
>>
>> En fait Je recherche des mots et je les remplace par des valeurs en
>> utilisant ReplaceAll sauf que là je veux mettre une image à la place
>> du mot.
>> Donc le chercher me donne la position, j'efface le mot trouvé et
>> j'insere
>> l'image. Cela marche bien pour UN seul mot si je ne fais pas le FindNext
>> mais si l'utilisateur a placé le mot plusieurs fois je suis coincé
>> sans la
>> boucle.
>>
>>
>> En tout cas merci pour les réponses déjà apporté.
>>
>> Bruno
>>
>> -----Message d'origine-----
>> De : Marceau GUIHARD [mailto:[EMAIL PROTECTED] Envoyé :
>> lundi 13 novembre 2006 16:11
>> À : prog@fr.openoffice.org
>> Objet : Re: [prog] Pb Recherche Remplace dans Writer
>>
>> Re :
>> Petit complément pour le test :
>> if isNull(Postrouve)
>> marchera si tu veux un booléen
>>
>> Cordialement
>>
>> Marceau
>>
>> Bruno ABRATANSKI a écrit :
>>
>>> Mettre un false à la place de Null ?
>>>
>>> Ça empeche pas l'erreur lors du findnext non ?
>>> -----Message d'origine-----
>>> De : Manuel NAUDIN [mailto:[EMAIL PROTECTED] Envoyé : lundi 13
>>> novembre 2006 12:04 À : prog@fr.openoffice.org Objet : Re: [prog] Pb
>>> Recherche Remplace dans Writer
>>>
>>> Le 13/11/06, Bruno ABRATANSKI <[EMAIL PROTECTED]> a écrit :
>>>
>>>>
>>>>  Bonjour,
>>>>
>>> Bonjour,
>>>
>>>
>>>
>>>> Pb lors d'un recherche remplace je fais :
>>>>
>>>> postrouve = mondocument.findfirst(jecherche) boucle
>>>>     si postrouve = null sortir
>>>>     curseur = mondocument.text.cretaetextcursorbyrange(postrouve)
>>>>     curseur.string = "£"
>>>>
>>>>      postrouve = mondocument.findnext(postrouve,jecherche)
>>>> fin
>>>>
>>>> Lors du findnext j'ai une erreur comme quoi le type de la variable
>>>> postrouve est incompatible alors que le findfirst a bien fonctionné ??
>>>>
>>>>
>>>>
>>> moi j'aurais fait :
>>> <code>
>>>  postrouve = mondocument.findfirst(jecherche) boucle
>>>     si postrouve = false sortir
>>>     curseur = mondocument.text.cretaetextcursorbyrange(postrouve)
>>>     curseur.string = "£"
>>>
>>>      postrouve = mondocument.findnext(postrouve, ,jecherche) fin
>>> </code>
>>>
>>>>  *Bruno ABRATANSKI**
>>>>
>>>> *
>>>>
>>>>
>>> Manuel
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à