Espace insécable

Bonjour,

Je voudrais créer une macro dans Writer rechercher/remplacer une espace insécable.
Je ne trouve pas le code de ce caractère.
Si je mets :
args6(18).Name = "SearchItem.SearchString"
args6(18).Value = "\S"
args6(19).Name = "SearchItem.ReplaceString"
args6(19).Value = " "

ça remplace tout sauf le caractère insécable >:o
alors que le code \S est celui préconisé dans les expressions régulières pour l'espace insécable.

Merci de vos lumières.

Bonjour

Je ne connais pas grand chose aux macros, alors de mon côté j'ai résolu ce genre de besoin en installant l'extension "Recherche alternative" (Alt search) que l'on peut trouver par ici :
https://extensions.libreoffice.org/extensions/alternative-dialog-find-replace-for-writer
D'après ce que j'en vois, l'expression régulière pour l'espace insécable est bien "\S".

@+
Luc

Bonjour Luc,

Merci pour ce plugin que j'utilise aussi bcp.

Cependant, comme je corrige bcp de textes, je voulais ajouter ce remplacement dans une macro perso sans avoir appeler en plus AltSearch.

Cordialement
Sandy-Pascal Andriant

Bonjour,

tu sélectionnes un espace insécable, <clic droit copier>
Dans la zone de recherche : <clic droit coller>
Dans la zone de remplacement : <rien>
[ ] décocher expression régulière
[TOUT REMPLACER]

Yves

nb : pour moi \s (minuscule) est la recherche du caractère ESPACE, tandis
que \S est son contraire, donc tout sauf un espace... :wink:

Bon,

En enregistrant une macro j'obtiens une liste impressionnante d'arguments... (21 !!!) mais ça marche, alors je garde.

rem ----------------------------------------------------------------------
dim args7(21) as new com.sun.star.beans.PropertyValue
args7(0).Name = "SearchItem.StyleFamily"
args7(0).Value = 2
args7(1).Name = "SearchItem.CellType"
args7(1).Value = 0
args7(2).Name = "SearchItem.RowDirection"
args7(2).Value = true
args7(3).Name = "SearchItem.AllTables"
args7(3).Value = false
args7(4).Name = "SearchItem.SearchFiltered"
args7(4).Value = false
args7(5).Name = "SearchItem.Backward"
args7(5).Value = false
args7(6).Name = "SearchItem.Pattern"
args7(6).Value = false
args7(7).Name = "SearchItem.Content"
args7(7).Value = false
args7(8).Name = "SearchItem.AsianOptions"
args7(8).Value = false
args7(9).Name = "SearchItem.AlgorithmType"
args7(9).Value = 1
args7(10).Name = "SearchItem.SearchFlags"
args7(10).Value = 65536
args7(11).Name = "SearchItem.SearchString"
args7(11).Value = " "
args7(12).Name = "SearchItem.ReplaceString"
args7(12).Value = " "
args7(13).Name = "SearchItem.Locale"
args7(13).Value = 255
args7(14).Name = "SearchItem.ChangedChars"
args7(14).Value = 2
args7(15).Name = "SearchItem.DeletedChars"
args7(15).Value = 2
args7(16).Name = "SearchItem.InsertedChars"
args7(16).Value = 2
args7(17).Name = "SearchItem.TransliterateFlags"
args7(17).Value = 1280
args7(18).Name = "SearchItem.Command"
args7(18).Value = 3
args7(19).Name = "SearchItem.SearchFormatted"
args7(19).Value = false
args7(20).Name = "SearchItem.AlgorithmType2"
args7(20).Value = 2
args7(21).Name = "Quiet"
args7(21).Value = true

dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args7())

Cordialement
Sandy-Pascal Andriant

Bonjour Sandy,

pour info, par macro le code est Chr(160) :slight_smile:

Très cordialement,