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


Comments

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • U.S. companies are desperately trying to recruit and hire skilled software engineers and developers, but there is simply not enough quality talent to go around. Tiempo Development is a nearshore software development company. Our headquarters are in AZ, but we are a pioneer and leader in outsourcing to Mexico, based on our three software development centers there. We have a proven process and we are experts at providing our customers with powerful solutions. We transform ideas into reality.

  • Live Event Date: September 23, 2015 @ 1:00 p.m. ET / 10:00 a.m. PT The cloud is not just about a runtime platform for your projects – now, you can do your development in the cloud, too. Check out this upcoming eseminar to learn how the cloud improves your development experience and team collaboration. Join Dana Singleterry, Principal Product Manager for Oracle Dev Tools, as he discusses how to simplify every aspect of the development lifecycle, including requirements gathering, version management, code …

Most Popular Programming Stories

More for Developers

RSS Feeds

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