VBDico : Faire un
glossaire des mots hors dictionnaire
Par
Patrice Dargenton
http://patrice.dargenton.free.fr/index.html
https://codes-sources.commentcamarche.net/source/20449
Version 2.01 du 04/05/2014
En
parcourant un document Word, la liste des mots non trouvés dans le dictionnaire
standard de Word (mots hors "dico") constitue de fait une liste des
mots clés propres à ce document. A partir de cette liste, vous pouvez donc
commencer à établir un glossaire (dictionnaire limité aux mots particuliers à
un domaine) ou un index (références des mots principaux cités dans un document,
avec les numéros de page correspondants). Je n'ai pas réussi à obtenir le
numéro de page où chaque mot hors dico a été trouvé (cela dépend de la mise en
page), mais le numéro du paragraphe est précisé. Lorsqu'un mot hors dico est
présent à plusieurs reprises, la liste des numéros de paragraphe distincts est
affichée après le nombre d'occurrences trouvées. Enfin, le glossaire est
constitué par le tri de cette liste de mots hors dico par ordre alphabétique.
Pour les gros documents, un parcours du document par la liste des sections
permet de commencer l'indexation plus rapidement, et d'indiquer dans les listes
les numéros de section au lieu des numéros de paragraphes. VBDico
fonctionne aussi avec des documents compatibles Word : fichiers html, ...
Bonus :
- On
peut aussi indexer tous les mots. Dans ce cas, on parcourt la liste complète
des mots du document et on ne retient pas le numéro du mot, car cela n'a pas
beaucoup d'intérêt ;
- Tri
fréquentiel : au lieu de trier le glossaire par ordre alphabétique, on peut
trier par ordre de fréquence décroissante des mots indexés, par exemple les
néologismes les plus fréquents, ou bien carrément tous les mots les plus
fréquents !
- Un
mode multi-documents a été prévu. Dans ce cas, on
retient le code mnémonique du document que l'on doit préciser au préalable, ce
qui est beaucoup plus parlant qu'un numéro de paragraphe ou de section. Pour
cela, une sauvegarde de la collection de mots du glossaire est effectuée dans
un fichier VBDico.tmp, puis renommée en VBDico.dat si on souhaite conserver le résultat. Au
lancement de VBDico, si ce fichier est présent, on
passe automatiquement en mode multi-documents.
L'indexation de tous les mots est disponible aussi en mode multi-documents
(mais on ne vérifie pas si le mode d'indexation change sur plusieurs
documents).
Limitations :
- Sous
Word, on peut atteindre un numéro de page, de ligne ou de section, mais pas de
paragraphe, ce qui limite l'intérêt de cette dernière numérotation ;
- Une
seule instance de VBDico peut fonctionner à la fois,
et mieux vaut ne pas utiliser Word pendant ce temps ! (en cas d'erreur,
une instance invisible de VBDico.exe risque de rester en mémoire RAM) ;
- Lorsque
le glossaire est ouvert dans Word, il n'a pas toujours le focus
(les boutons de la barre d'outil ne sont pas actif du premier coup, il faut
rebasculer sur Word).
Améliorations
possibles :
- Sauver
les options en cours en quittant et les rétablir au lancement de VBDico ;
- Trouver
les numéros de page de chaque mot indexé ;
- Fabriquer
des liens hypertextes pour chaque numéro de page des mots trouvés : pour cela,
il suffit d'insérer des signets dans une copie du document d'origine, avec le
glossaire à la fin ;
- Menu
contextuel : on pourrait gérer la commande "Indexer le document"
lorsque l'on clique sur le bouton droit sur un fichier .doc : il suffit de
fusionner un fichier .reg approprié, ou bien d'écrire la commande directement
dans la base de registre.
Pré-requis :
- Microsoft
Word doit être installé. Comme VBDico est compilé en
mode liaison tardive, cela devrait marcher avec plusieurs versions de Word
(Word 2002 = XP = Word 10 a été testé avec succès) ;
- Le
logiciel runtime (gratuit) de Visual
Basic 6 (VB6) doit être installé : C:\WINDOWS\system32\msvbvm60.dll (pour cela,
installez n'importe quel logiciel packagé capable d'installer le runtime VB6, par exemple : http://patrice.dargenton.free.fr/gravity/gravityinst.zip
: 1.6 Mo).
Liste
des fichiers :
- Code
exécutable (pour ceux qui n'ont pas VB6 sous la main) : VBDico.exe ;
- Code
source de VBDico : VBDico.vbp,
frmVBDico.frm, clsDoc.cls, clsMot.cls, ModUtil.bas, SelectionFichier.bas, VBDico.ico
et VBDico_LiaisonPrecoce.vbp : fichier projet compilé
en mode liaison précoce, c'est-à-dire avec une référence explicite à
"Microsoft Word 10 Object Library"
avant la compilation (voir le code source pour connaître les avantages et les
inconvénients) ;
- Glossaire
de LisezMoi.doc : exemple d'utilisation de VBDico
avec le document LisezMoi.htm ;
- Documentation
: LisezMoi.htm.
Historique
des versions :
04/05/2014
V2.01
- Argument
en ligne de commande : le chemin du fichier à indexer
- Passage
en VB2010
15/02/2004
V1.01 Première version VB6