![]() |
#7
|
||||
|
||||
![]()
I have again tested the code (repeated below) and it does what it is supposed to do and the completion message (not part of the original) works where it is now placed.
If the macro doesn't do anything, it is likely to be that the criteria set in the code does not match what is in the document. Post a sample document in which it does not work. Quote:
Code:
Sub Delete_Underscores() ' 'Graham Mayor - http://www.gmayor.com - Last updated - 03 Oct 2018 ' ' Delete_Underscores Macro ' Will delete all underscores in Document except in Mail addresses (& hyperlinks ??) ' This version RETYPED from published Macro because of difficulties with MS Office site. ' CALL with ALT + U (for Underscore) Dim oRng As Range Dim oWord As Range Set oRng = ActiveDocument.Range With oRng.Find Do While .Execute(FindText:="_") Set oWord = oRng.Duplicate If oWord.Words(1).Start <> ActiveDocument.Range.Start Then oWord.MoveStartUntil Chr(32), wdBackward oWord.MoveEndUntil Chr(32) & Chr(13) If InStr(1, oWord.Text, "@") = 0 Then oRng.Text = " " End If oRng.Collapse 0 Loop End With MsgBox "Yes, it ran." 'Added. lbl_Exit: Set oRng = Nothing Set oWord = Nothing Exit Sub End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019) Visit my web site for more programming tips and ready made processes www.gmayor.com |
Thread Tools | |
Display Modes | |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Is there a sub-Forum for Office for Mac? | IvanH | Office | 1 | 02-20-2014 11:31 PM |
![]() |
Joan64 | Office | 2 | 07-01-2013 10:18 AM |