Solved

Adding multiple words that are incorrectly shown as misspelled to dictionary

Posted on 2004-09-21
5
399 Views
Last Modified: 2006-11-17
When dealing with a body of text with many unrecognised words - which show as incorrectly spelled - is it possible to highlight the whole block, and tell Word to add **any** "misspelled" word to the CUSTOM.DIC?

I typically get this when writing geek documentation (someone's gotta do it!), and am too lazy to go through and add 100 or so more terms individually.  Don't want to add *all* the words, just the ones that Word thinks are misspelled.  Pasting the entire paragraph into CUSTOM.DIC seems a bit brutal!

Selecting a paragraph, right-clicking, and seeing the option "Add ALL to Dictionary" would be the perfect thing...

Some sample text:

Installed services on \\<servername>:
      ACPI - Microsoft ACPI Driver
      AFD - AFD Networking Support Environment
      Alerter - Alerter
      AppMgmt - Application Management
      AsyncMac - RAS Asynchronous Media Driver
      atapi - Standard IDE/ESDI Hard Disk Controller
      Atmarpc - ATM ARP Client Protocol
      audstub - Audio Stub Driver
      awhost32 - pcAnywhere Host Service
      BITS - Background Intelligent Transfer Service
      Browser - Computer Browser
      Cdrom - CD-ROM Driver
      CIMnotify - HP Insight Event Notifier
      cisvc - Indexing Service
0
Comment
Question by:DanCh99
  • 2
  • 2
5 Comments
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 250 total points
Comment Utility
This should do it.

Sub AddToDic()
    Dim prError As Range
    Dim Dict As Document
    Dim para As Paragraph
    Dim strErrWords() As String
    Dim iErrWordsCount As Integer
    Dim i As Integer
    Dim bFlag As Boolean
   
    For Each prError In ActiveDocument.SpellingErrors
        ReDim Preserve strErrWords(iErrWordsCount)
        strErrWords(iErrWordsCount) = prError.Text & Chr$(13)
        iErrWordsCount = iErrWordsCount + 1
    Next prError
   
    Application.Options.CheckSpellingAsYouType = False
   
    Set Dict = Documents.Open(CustomDictionaries("CUSTOM.dic").Path & "\" & CustomDictionaries("CUSTOM.dic").Name)
    For i = 0 To iErrWordsCount - 1
    bFlag = False
        For Each para In Dict.Paragraphs
            If strErrWords(i) = para.Range.Text Then
                bFlag = True
                Exit For
            End If
            If UCase$(strErrWords(i)) <= UCase$(para.Range.Text) Then
                para.Range.InsertBefore strErrWords(i)
                bFlag = True
                Exit For
            End If
        Next para
        If Not bFlag Then
            Dict.Paragraphs(Dict.Paragraphs.Count).Range.InsertAfter strErrWords(i)
        End If
    Next i
   
    Dict.Save
    Dict.Close
    Application.Options.CheckSpellingAsYouType = True

End Sub

0
 
LVL 22

Expert Comment

by:Dreamboat
Comment Utility
It might be easier to open custom.dic and paste that text into it.
Just be sure when you save that you retain the proper name of the file, and that you save it as a text file.
0
 
LVL 23

Author Comment

by:DanCh99
Comment Utility
The macro seems to work really well, I can see it putting the items into the CUSTOM.DIC folder, but on some larger documents, they are still flagged with the red squiggle.  The only way I've found to get it to go away is to turn off the Tools.. Options.. Spelling & Grammar.. Check Spelling as you Type, and then turn it on again.  

GrahamSkan - any chance of you adding this last piece of functionality?  heck, I'll even double the points!

Regarding Dreamboat's idea, AFAIK, custom.dic only works on having it's entries sorted alphabetically, with a single word per line.  If I was going to do that, it would be quicker to use the right-click.. Add to Dictionary!
0
 
LVL 23

Author Comment

by:DanCh99
Comment Utility
neat macro, cheers.
0
 
LVL 76

Expert Comment

by:GrahamSkan
Comment Utility
Sorry I haven't yet found a way of forcing the respell check. I think that Word must maintain a cache of the Dictionary, which it refreshes when you click on the Checkbox, but not when it is changed programatically.
I did think of saving, closing and re-opening the document, but that could bring other problems. I also tried removing the Custom.dic from the list of dictionaries and re-adding it, but Word seemed unaware of my actions.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Nice table. Huge mess. Maybe this was something you created way back before you figured out tabs or a document you received from someone else. Either way, using the spacebar to separate the columns resulted in a mess. Trying to convert text to t…
Introduction This tutorial provides instructions on how to properly format your Word document using the inbuilt tools provided. The benefits of using these tools means your documents are more accessible and easily portable to other applications an…
This video shows the viewer how to set up and create Footnotes in their document. Click on the References tab: Select "Insert Footnote": Type in desired text:
This video walks the viewer through the process of creating envelopes and labels, with multiple names and addresses. Navigate to the “Start Mail Merge” button in the Mailings tab: Follow the step-by-step process until asked to find the address doc…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now