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
-------- Message original --------
Sujet : [fr-users] macro dans writer
De : Olivier Jaccomard <jaccom...@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
--
Envoyez un mail à users+h...@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