Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 07-16-2023, 11:06 AM
gmaxey gmaxey is offline [Code included] Manually iterate previous misspelling words Windows 10 [Code included] Manually iterate previous misspelling words Office 2019
Expert
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,617
gmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nicegmaxey is just really nice
Default

vivka,




Your code is better (fixes the problems), but looking at every word regardless if spelled wrong or not, could take a long time in large documents. I mean why back up one word at at time?


Try:


Code:
Sub FindPreviousMisspelledWord()
Dim oRng As Range
  Set oRng = Selection.Range
  With oRng
    While .Start <> 0
      .Collapse 1
      .Start = ActiveDocument.Range.Start
      .MoveStart wdWord, -1
      If .SpellingErrors.Count > 0 Then
        .SpellingErrors(.SpellingErrors.Count).Select
        Exit Sub
      End If
      Wend
  End With
  MsgBox "No misspelled words found."
lbl_Exit:
  Exit Sub
End Sub
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote
  #2  
Old 07-16-2023, 11:14 AM
puff puff is offline [Code included] Manually iterate previous misspelling words Windows 10 [Code included] Manually iterate previous misspelling words Office 2016
Advanced Beginner
[Code included] Manually iterate previous misspelling words
 
Join Date: Apr 2017
Posts: 60
puff is on a distinguished road
Default

Quote:
Originally Posted by gmaxey View Post
vivka,


Your code is better (fixes the problems), but looking at every word regardless if spelled wrong or not, could take a long time in large documents. I mean why back up one word at at time?


Try:


Code:
Sub FindPreviousMisspelledWord()
Dim oRng As Range
  Set oRng = Selection.Range
  With oRng
    While .Start <> 0
      .Collapse 1
      .Start = ActiveDocument.Range.Start
      .MoveStart wdWord, -1
      If .SpellingErrors.Count > 0 Then
        .SpellingErrors(.SpellingErrors.Count).Select
        Exit Sub
      End If
      Wend
  End With
  MsgBox "No misspelled words found."
lbl_Exit:
  Exit Sub
End Sub

Thank you so much! And yes, yours run faster.
Reply With Quote
Reply

Tags
loop, range, spell check



Similar Threads
Thread Thread Starter Forum Replies Last Post
[Code included] Manually iterate previous misspelling words Using custom style instead of inserting font attributes manually in VBA code 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
[Code included] Manually iterate previous misspelling words VBA to insert an image and centralize it (code included) puff Word VBA 5 01-17-2018 04:32 PM
[Code included] Manually iterate previous misspelling words Issue of 2 fixed bullet points indent setting work together (code included) 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

Other Forums: Access Forums

All times are GMT -7. The time now is 05:30 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft