[Writer] Compter les caractères sans les espaces

Vos meilleures macros et portions de code sont publiées dans cette section.
Aucun support sur une question de programmation ici !

Modérateur : Vilains modOOs

Règles du forum
Aucune question dans cette section !
Celle-ci rassemble les meilleures macros et portions de code. Vous pouvez en revanche commenter ou argumenter le code exposé. Vous pouvez même remercier l'auteur (cela fait toujours plaisir) en indiquant par exemple dans quel cadre ou contexte vous en avez eu l'utilité.
Si vous avez à poster quelque chose, faites-le depuis la section Macros et API et demandez à un modérateur de l'y déplacer.
Pascal Brognez
Fraîchement OOthentifié
Messages : 1
Inscription : 03 sept. 2007 16:17
Localisation : Nord

[Writer] Compter les caractères sans les espaces

Message par Pascal Brognez »

Une macro qui compte les carctères sauf les espaces et compte les espaces d'un document entier.
Je compte le doc en entier et pas la sélection (ou zones de
sélection). Et si il y a des champs, comme les tables de matières et les
légendes, ou des cadres, la macro fonctionne.
La macro prend aussi les en têtes (et donc autant
d'en-têtes que de pages) mais pas les notes simples (les notes de bas de
page = un cadre spécial sont bien prises en compte).


Code : Tout sélectionner

Sub CompteCaract
   Dim oTrouve_space As Object
   Dim oTrouve_non_space As Object


   oTrouve_space = ThisComponent.createSearchDescriptor
   With  oTrouve_space
     .SearchString = " " ' ou un autre caractère de ton choix
     .SearchWords = false
   End With

   oTrouve_non_space = ThisComponent.createSearchDescriptor
   With oTrouve_non_space
     .SearchString = "[^ ]" ' ou un autre caractère de ton choix
     .SearchWords = false
     .SearchRegularExpression=True
   End With

 MsgBox "Il y a " &  ThisComponent.findAll(oTrouve_non_space).count  & "
   caractères sans compter les espaces et il y a " &
 ThisComponent.findAll(oTrouve_space).count & " espaces"

 End Sub
2.2 sous zenwalk mandriva debian, 2.3 sous Windows XP2 et Vista