View Single Post
 
Old 06-25-2017, 05:47 AM
gmaxey gmaxey is offline Windows 7 32bit Office 2016
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

Graham, thanks!

Break

eduzs,

I'm not entirely sure that I know what your goal really is, but if it is to remove empty paragraphs and leading or trailing spaces from paragraphs then I think your current version falls short.

And to each his own and perhaps it is due to habit or what you have seen before, but I can't for the life of me see any advantage of your two Do ... While loops or use of the seemingly redundant Find.Found.

Code:
Sub Limpa_texto()
Dim lngIndex As Long, oRng As Range
Dim strLS As String
Dim arrFind, arrReplace
  strLS = Application.International(wdListSeparator)
  arrFind = Array("^32{1,}^13", "^13^32{1,}", "^13{2,}", "^32{2,}")
  arrReplace = Array("^p", "^p", "^p", " ")
  Set oRng = ActiveDocument.Range
  Application.ScreenUpdating = False
  For lngIndex = 0 To UBound(arrFind)
    With oRng.Find
      .Text = Replace(arrFind(lngIndex), ",", strLS)
      .Replacement.Text = Replace(arrReplace(lngIndex), ",", strLS)
      .MatchWildcards = True
      .Execute Replace:=wdReplaceAll
    End With
  Next lngIndex
  If Len(ActiveDocument.Range.Paragraphs.Last.Range) = 1 Then
    ActiveDocument.Range.Paragraphs.Last.Range.Delete
  End If
  Application.ScreenUpdating = True
lbl_Exit:
  Exit Sub
End Sub
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote