Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


Le 16/06/2011 10:26, claude a écrit :
Bonjour,

Pourquoi ne pas utiliser le recherche et remplace.

L'exemple ci-dessous a été fait sous OO 3.2.1 mais cela doit fonctionner sous libreoffice ( afin je le souhaite)

Option Explicit

Sub RemplacerCaractereParNombreAleatoire()
Dim monDocument As Object
Dim Cherche As Object, trouv As Variant
Dim x As Long
monDocument = ThisComponent
Cherche = monDocument.createSearchDescriptor
with Cherche
 .SearchString = "µ"
 .SearchWords = false
end with
trouv = monDocument.findAll(Cherche)
print "Nombre d'occurrences : " & trouv.Count
for x = 0 to trouv.Count -1
 trouv(x).string = Int((8*Rnd)+1)
next
End Sub

Cordialement

Claude
Une solution bien plus élégante, propre, et rapide !
Merci, Claude.
-------- Message original --------
Sujet : [fr-users] macro dans writer
De : Olivier Jaccomard <jaccomard@free.fr>
Pour : users@fr.libreoffice.org
Date : 15/06/2011 23:52
Bonjour,

cherchant à convertir un système fait sous Word, je voudrais faire une macro qui remplace tous les caractères µ d'un document par un nombre aléatoire entre 1 et 8.

J'ai essayé ça, mais sans résultat (mon curseur ne se déplace pas) :

Pouvez-vous m'aider ?
Cordialement,
O.Jaccomard

Sub Macro1
Randomize 2^14-1
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object
Dim curseurVisible As Object

monDocument = ThisComponent
monTexte=monDocument.Text
monCurseur=monTexte.createTextCursor
curseurVisible=monDocument.CurrentController.getViewCursor
monDocument.CurrentController.Select(monCurseur)
monCurseur.gotoStart(False)
curseurVisible.gotoStart(false)
For i=1 To monDocument.CharacterCount
    If (curseurVisible.String="µ") Then
        curseurVisible.String=Int((8*Rnd)+1)
    End If
    monCurseur.goRight(1,false)
    curseurVisible.goRight(1,false)
Next i
End Sub





P


--
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.