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.
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.