![]() |
#1
|
|||
|
|||
![]()
Hi. I'm developing a macro that when run, finds the closest misspelling word in the previously typed texts from the current cursor location. The user can then fix it (or not), and run the macro again to find the next previously misspelled word. My current code looks like this:
Code:
Sub FindPreviousMisspelledWord() Dim rng As Range Dim word As Range Set rng = Selection.Range ' Sets the range to the current selection ' Find previous misspelled word While rng.Start <> 0 rng.MoveStart wdWord, -1 ' Move back one word If rng.SpellingErrors.Count > 0 Then ' Check if the word is misspelled Set word = rng.words(1) ' Set the range to the misspelled word word.Select ' Select the range Exit Sub End If Wend MsgBox "No misspelled words found." End Sub 1. After finding a misspelled word, if the word is in the middle of a sentence, it will also select the ending white space. For example, instead of selecting "liike", it selects "liike ". 2. It also selects the word that is right in front of the misspelled word, even it's correctly spelled. For example, in "the lush greeen forest", not only the code will select "greeen " but it also selects "lush " Could someone help solve these issues? I kinda feel that the range having the ending space is the reason causing the second issue. Really appreciate any suggestions! |
Tags |
loop, range, spell check |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
laith93 | Word VBA | 2 | 11-07-2021 12:52 AM |
Error with macro to delete starting #) [code included] | puff | Word VBA | 1 | 04-18-2018 03:49 PM |
![]() |
puff | Word VBA | 5 | 01-17-2018 04:32 PM |
![]() |
puff | Word VBA | 5 | 12-17-2017 05:52 PM |
Outlook 2003 - if previous meesage included in reply, spell checks all | wildswing | Outlook | 0 | 07-22-2009 06:06 AM |