Vérificateur d'orthographe

Soyez le premier à donner votre avis sur cette source.

Vue 24 387 fois - Téléchargée 659 fois

Description

Ce code permet d'utiliser le vérificateur de MS Word (Word doit être installé, mais on ne le voit pas). On peut donc contrôler et corriger un texte (d'une zone de texte par exemple) dans plusieurs langues.

Source / Exemple :


Public Function VerifOrthographe(TxtVérif As String) As String
    'Cette fonction ouvre un projet (invisible) Microsoft Word
    'et utilise le vérificateur d'othographe.
    'Les corrections sont récupérées.
    
    'Variables
    Dim ObjMSWord As Object
    Dim TxtProv As String
    
    'Y a-t'il du texte à vérifier ?
    If TxtVérif = "" Then
        MsgBox "Rien à vérifier !", vbExclamation
        Exit Function
    End If
    
    'Pointeur "sablier"
    Screen.MousePointer = 11
    
    'Définition de l'objet Word et appel de l'outil de vérification de l'orthographe
    Set ObjMSWord = CreateObject("Word.Basic")
    With ObjMSWord
        .FileNew
        .Insert TxtVérif
        .ToolsSpelling ObjMSWord.EditSelectAll
        .SetDocumentVar "TexteAVerifier", ObjMSWord.Selection
    End With
    
    'Récupération du texte (corrigé) après vérification
    TxtProv = ObjMSWord.GetDocumentVar("TexteAVerifier")
    TxtProv = Left(TxtProv, Len(TxtProv) - 1)
    
    If TxtProv = "" Then
        'Opération annulée par l'utilisateur
        VerifOrthographe = TxtVérif
    Else
        VerifOrthographe = TxtProv
    End If
    
    'Fermeture du document provisoire et de Word
    ObjMSWord.FileCloseAll 2
    ObjMSWord.AppClose
    Set ObjMSWord = Nothing
    
    'Pointeur standard
    Screen.MousePointer = 0
    
    'Message en cas de bon déroulement de l'opération
    If TxtProv = "" Then
        MsgBox "Vérification ignorée !", vbExclamation
    Else
        MsgBox "Vérification terminée !", vbInformation
    End If
      
End Function

Conclusion :


Comme indiqué, Word doit être installé. Encore un petit problème que je résoudrait dès que j'aurai le temps: il faut que la vérif soit effectuée jusqu'à la fin pour que les modifications soient prises en compte.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

surfzoid
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010
-
Aucune idée, mais peut etre que tu devrais fouiller dans les parametres "par defaut" de word
ou bien dans les diferrentes propriétes de :
With ObjMSWord
.FileNew()
.Insert(TxtVérif)
.ToolsSpelling()
.EditSelectAll()
TxtProv = .Selection
End With
surfzoid
Messages postés
467
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010
-
je viens de trouvé une autre methode de correction avec le dico word , elle renvoie une liste de suggestions du style click droit sur le mot mal orthographié, existe aussi pour la grammaire :

Imports Microsoft.Office
Public Class ortoword
Public Function VerifOrthographe(ByRef TxtVérif As String)
Dim ResultatSug() As String = Nothing
Try
Dim MsWApp As New Interop.Word.Application
Dim MsWDoc As New Interop.Word.Document
Dim sugList As Interop.Word.SpellingSuggestions
Dim sug As Interop.Word.SpellingSuggestion
Dim strSugList As String = Nothing
sugList = MsWDoc.Application.GetSpellingSuggestions(Word:=TxtVérif, _
SuggestionMode:=0)
If sugList.Count = 0 Then
'MsgBox("No suggestions.")
Else
For Each sug In sugList
strSugList &= sug.Name & vbLf
Next sug
'MsgBox("The suggestions for this word are: " _
' & vbLf & strSugList)
ResultatSug = Split(strSugList, vbLf)
End If
Catch ex As Exception
MessageBox.Show(ex.Message & vbCrLf & ex.StackTrace, "Erreur", MessageBoxButtons.OK, _
MessageBoxIcon.Error)
Finally
'Pointeur standard
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
End Try
VerifOrthographe = ResultatSug
End Function
cs_jray
Messages postés
20
Date d'inscription
mardi 16 mai 2000
Statut
Membre
Dernière intervention
1 mai 2007
-
Ca peut être utile ! Merci.
cs_betty9
Messages postés
9
Date d'inscription
lundi 5 octobre 2009
Statut
Membre
Dernière intervention
28 juin 2010
-
Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
cs_omega8
Messages postés
2
Date d'inscription
vendredi 23 janvier 2004
Statut
Membre
Dernière intervention
21 février 2011
-
Excellent ! C'est efficace et en quelques lignes de Code seulement! Super boulot ! et facile à intégrer dans ses propres sources...
Commenter la réponse de cs_shivan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.