Graphiques
 
- Dégradé
- Animations BitBlt
- Animations Pic
- Contrôle Animation
- Défilement d'image
 
Interface
 
- Barre d'outils
- Barre de progression
- Clignotement
- Interface MDI
- Barre d'état
 
Texte & système
 
- Texte sur image
- Taille variable
- Informations système
 
Fichiers
 
- Grand fichier
- Choix de police
- Dictionnaire Word
- Listes
- Fichiers binaires
 
Souris et touches
 
- Curseur animé
- Touches
 

Utiliser le dictionnaire Word
Vous avez travaillé à plusieurs reprises avec des fichiers de type TXT. Vous avez même créé un petit éditeur dans la partie Débutant de cette formation. Un dictionnaire pourrait sans doute être utile à certains d'entre vous. Encore une fois, vous ne créerez rien (pourquoi le faire puisque ça existe déjà): vous allez utiliser celui de M. Gates (version 97 et 2000). Il existe cependant une condition sine qua non à cet exercice: posséder le logiciel Word.
  1. Créez une nouveau programme que vous nommez Ex_14xx.vbp. Nommez la feuille F_Dictionnaire et réglez la propriété CAPTION à Correction avec le dictionnaire Word. 

  2. Allez au menu Projet, option Références. Cochez Microsoft Word 9.0 Object Library. Cliquez sur OK. Cette étape est essentielle si vous désirez que le programme fonctionne.

  3. Placez sur cette feuille une zone de texte que vous nommez ZT_Contenant. Changez les propriétés suivantes:

    • MULTILINE = true

    • HEIGHT = 2535

    • WIDTH = 6255

    • TEXT = vide

  4. Ajoutez deux boutons sous la zone de texte: le premier se nomme BO_Stat et la propriété CAPTION indique Statistiques; le second s'appelle BO_Corr et la propriété CAPTION indique Correction.

  5. Placez une étiquette entre les deux boutons. Voici ses propriétés.

    • NAME = ET_Stat

    • BASKSTYLE = 0-Transparent

    • CAPTION = Statistiques

    • ALIGNMENT = Centré

  6. Votre feuille devrait maintenant ressembler à celle ci-dessous.

  1. Passez maintenant à la codification. Voici d'abord la création du lien avec le dictionnaire Word. Ce code se place dans la partie Général de la feuille.

Dim MonDictionnaire As New Document
Dim V_DIctVisible As Boolean

Const TOUCHE_F7 = 118  
'Déclaration de la constante F7

  1. Ajoutez ensuite le script suivant au bouton BO_Stat.

Private Sub Bo_Stat_Click()
    Dim V_Dial As Word.Dialog 
'Initialisation de variable
  
'Copier le texte dans un document Word
   MonDIctionnairel.Range = ZT_Contenant.Text
  
'Créer un objet pour contenir les paramètres de la boîte de dialogue
   Set V_Dial = MonDictionnaire.Application.Dialogs(wdDialogDocumentStatistics)
  
'Compter les mots et les caractères
   V_dial.Execute   
  
'Afficher les résultats dans l'étiquette à cet effet
   ET_Stat.Caption = Str(V_Dial.Words) & " mots, " & Str(V_dial.Characters) & " caractères"
End Sub

  1. Enregistrez votre programme et testez-le en inscrivant quatre ou cinq mots, puis en cliquant sur le bouton Statistiques. Le nombre de mots et de caractères s'affiche dans l'étiquette à cet effet.

  2. Votre objectif premier n'étant pas de compter les mots, mais de découvrir les erreurs orthographiques, continuez votre programme en ajoutant la procédure Form_Load suivante, laquelle servira à enregistrer dans la variable si l'application est visible.

Private Sub Form_Load()
  
'Déterminer si l'application est visible
   V_DictVisible = MonDictionnaire.Application.Visible
End Sub

  1. Ajoutez ensuite le code du bouton BO_Corr qui servira à corriger le texte.

Private Sub BO_Corr_Click()
   MonDictionnaire.Range.Text = ZT_Contenant  
'Ajout du texte
   MonDictionnaire.Application.Visible = True   
'Word est-il visible?
   AppActivate MonDictionnaire.Application.Caption   
'Activation de Word

   MonDictionnaire.Range.CheckSpelling     
'Vérifier l'orthographe
   ZT_Contenant = MonDictionnaire.Range.Text  
'Mise à jour des corrections
  
'Suppression du caractère Null ajouté par Word
   ZT_Contenant = Left(ZT_Contenant, Len(ZT_Contenant) - 1)  
   AppActivate Caption     
'Activation de l'application
End Sub

  1. Il faut aussi ajouter une procédure qui s'exécutera lors du déchargement de la feuille une fois l'opération terminée.

Private Sub Form_Unload(Cancel As Integer)
   If V_DictVisible Then   
      MonDictionnaire.Close savechanges:=False        
'Fermer le document
   Else
      MonDictionnaire.Application.Quit savechanges:=False        
'Fermer Word
   End If
End Sub

  1. Au début de la programmation de cette fiche, vous avez déclaré une constante pour la touche F7. Celle-ci vous permettra d'effectuer la correction d'un mot seulement, sans ouvrir Word. Pour y parvenir, commencez par ajouter une seconde feuille que vous appelez  F_Sugg et dont le CAPTION est Suggestions.

  2. Créez sur cette feuille une zone de liste (ListBox) que vous nommez ZL_Sugg. 

  3. Ajoutez aussi deux boutons: BO_remplace dont le CAPTION est Remplacer et BO_Annuler dont le CAPTION est Annuler. Voici à quoi ressemble cette fenêtre une fois terminée.

  1. Ajoutez le code suivant à l'événement KeyDown de la zone de texte ZT_Contenant.

Private Sub ZT_Contenant_KeyDown(KeyCode As Integer, Shift As Integer)
   Dim V_Corrections 
'Déclaration de variable
   If KeyCode = TOUCHE_F7 Then  
'Si la touche F7 est enfoncée
      If ZT_Contenant.SelLength = 0 Then
         SendKeys "+^{Right}"  
'Sélectionner le mot
      End If

  
'Vérifier l'orthographe de la sélection
   Set V_Corrections = GetSpellingSuggestions(ZT_Contenant.SelText)
      If V_Corrections.Count Then  
'Afficher les suggestions si nécessaire
         F_sugg.Affiche V_Corrections
       End If
   End If
End Sub

  1. Il faut aussi ajouter la procédure suivante pour remplacer le mot si nécessaire.

Friend Sub Remplace(Word As String)
   ZT_Contenant.SelText = Word   
'Remplacement du mot
End Sub

  1. Il reste maintenant à placer les procédures dans la feuille F_Sugg. Premièrement la procédure permettant d'afficher les suggestions de Word.

Friend Sub Affiche(Corrections)
   Dim Word  
'Déclaration de variable
   For Each Word In Corrections  
'Ajout des mots
      ZL_Sugg.AddItem Word
   Next Word
   ZL_Sugg.Selected(0) = True  
'Sélection de la première suggestion
   Show vbModal  
'Affichage de la feuille
End Sub

  1. Voici le code à ajouter dans les boutons Bo_Remplace et Bo_Annuler.

Private Sub Bo_Remplace_Click()
   F_dictionnaire.Remplace ZL_Sugg.List(ZL_Sugg.ListIndex)  
'Remplace le mot
   Unload Me   
'Décharge la feuille
End Sub

Private Sub BO_Annuler_Click()
   Unload Me  
'Décharger la feuille
End Sub

  1. Sauvegardez le tout et testez votre application. Sélectionnez un mot du texte que vous savez contenir une erreur et enfoncez la touche F7. Choisissez la bonne forme du mot parmi ceux suggérés.

Application:

  • Essayez d'ajouter la section permettant de vérifier un mot à l'aide de la touche F7 à votre programme Ex_12xx.vbp  Enregistrez votre nouvelle version sous le nom  Ex_14bxx.vbp.

 

Création d'aide
 
- À propos
- Astuce du jour
 
Cryptage
 
- Mot de passe
- Cryptage de fichier
 
Base de données
 
- Bibliothèque
 
Winsock
 
- Serveur de chat
- Client de chat 1
- Client de chat 2
 
Jeu d'arcade
 
- Interface
- Programmation 1
- Programmation 2
- Programmation 3
- Programmation 4
 
Navigateur WEB
 
- Interface 1
- Interface 2
- Interface 3
- Interface 4
- Programmation 1
- Programmation 2
- Programmation 3
- Programmation 4
© Copyright 2002 - Design : Webmasters-fr.net