Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Jan 1, 2003

CheckSpelling - Use MSWord to check a word's spelling and provide suggestions

' this should be a module-level or global variable, so that
' Word is instantiated only once
Dim MSWord As New Word.Application

' check the spelling of a word
'
' returns True if the word is correct
' returns False if the word is not correct, and in this case it optionally
' returns a collection that contains all the suggested alternate words
'
' NOTE: requires a reference to the Microsoft Word Object Library

' USAGE:
'    Dim suggestions As Collection, w As Variant
'    List1.Clear
'    If Not CheckSpelling(Text1.Text, suggestions) Then
'        For Each w In suggestions
'            List1.AddItem w
'        Next
'    End If

Function CheckSpelling(ByVal Word As String, Optional suggestions As Collection) _
    As Boolean
    Dim splSuggestion As Word.SpellingSuggestion
    Dim splSuggestions As Word.SpellingSuggestions
    
    ' Add a document, if there aren't any
    ' this is needed to get suggestions
    If MSWord.Documents.Count = 0 Then MSWord.Documents.Add
    
    ' ensure there are no extra spaces
    Word = Trim$(Word)
    ' initialize the returned collection
    Set suggestions = New Collection

    If MSWord.CheckSpelling(Word) Then
        ' the word is correct
        CheckSpelling = True
    Else
        ' the word is incorrect
        ' get the list of suggested words
        Set splSuggestions = MSWord.GetSpellingSuggestions(Word)
        For Each splSuggestion In splSuggestions
            suggestions.Add splSuggestion.Name, splSuggestion.Name
        Next
    End If

End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date