Spellcheck Macro for Visual Studio 

Environment: Visual C++ 6 

Have you ever wanted to quickly check to see if one word is spelled right while coding with Visual Studio? Of course you have! This macro let's you put the cursor on the word (or highlight the part you want to check) and tells you if it's correct or wrong. If wrong, it will give you a list of suggestions of the correct spelling. COM is great! 

You can click on any word, or highlight the word/exact part you wish to spellcheck. 

NOTE: You must have Microsoft Word 97 or 2000 installed for this macro to work. 

For those that need it, installation instructions: 

In Visual Studio, click tools->macro, enter the name "Spellcheck" and click Edit. Cut and past the macro from below in over the default one. 

To choose the hotkey that runs it, click the Options button, then keystrokes. You can assign any key combination you wish. 

Sub Spellcheck()

Dim txtCredit

Set MSWord = CreateObject( "Word.Application")

Dim colSuggestions 

Dim suggestion

Dim txtFinal 'to hold the final results 

txtCredit = "Visual Studio Spell Checker by Seth A. Robinson"

'Converted from an example from "Programming Visual Basic"

'MSWord.visible = true 'uncomment this to see what's really 

'happpening behind the scenes

 ' Add a document if there aren't any (needed to get 

 ' suggestions).

 If MSWord.Documents.Count = 0 Then MSWord.Documents.Add

 

 If ActiveDocument.Selection.Text = "" Then

  'They didn't choose anything, so let's grab the word they 

  'set the cursor on

  ActiveDocument.Selection.WordRight

  ActiveDocument.Selection.WordLeft dsExtend

 End If 

 Dim txt_temp

 txt_temp = ActiveDocument.Selection.Text 

 If MSWord.CheckSpelling(txt_temp) Then

  ' The word is correct.

  MsgBox "It appears """&txt_temp&""" is spelled correctly.",_

         vbInformation,txtCredit

 Else

  'Word is wrong, let's get some suggestions of right ones.

  Set colSuggestions = MSWord.GetSpellingSuggestions(txt_temp)

  txtFinal = "It appears """&txt_temp&""" is spelled wrong. " +_ 

             " Here are some possible replacements:"&vbLf&vbLf

  If colSuggestions.Count = 0 Then

   MsgBox txtFinal&"(no suggestions)",vbCritical, txtCredit

  Else

   For Each suggestion In colSuggestions

    txtFinal = txtFinal&suggestion.name&vbLf   

   Next

   

   'show suggestions to user

   MsgBox txtFinal,vbCritical, txtCredit

  End If

 

 End If

  

 'Kill document, don't leave it floating in memory

 MSWord.ActiveWindow.Close wdDoNotSaveChanges

   

End Sub