I have a special question. I have a word document which contains a lot of brackets. And In the brackets, there are some abbreviation of name, such as (A S P). Now I need to delete the brackets and the spaces in side , change it like this: ASP

I just can' find a way to batch do that automaticlly . Any idea? I'm using word2010

Recommended Answers

Word supports regular expression operations that will do this. RTFM.

Jump to Post

All 3 Replies

Word supports regular expression operations that will do this. RTFM.


For you case, you can Find and Replace or VBA code. Here are the 2 ways:

1.Enter (*) in “Find what” text box and Check “Use wildcards” box, to find all square brackets

  1. Clear “Find what” text box and enter [() ] , Click “Find In” and this time choose “Current Selection”.

  2. Press Delete

Run this VBAcode

Sub DeleteDelimiters(objFind As Find, strLeftDelimiter As String, strRightDelimiter As String, bDeleteSpace As Boolean)
  Dim strFind1 As String
  Dim strFind2 As String

  strFind1 = "\" & strLeftDelimiter & "*\" & strRightDelimiter
  If (bDeleteSpace) Then
    strFind2 = "[" & strLeftDelimiter & "\" & strRightDelimiter & " ]"
    strFind2 = "[" & strLeftDelimiter & "\" & strRightDelimiter & "]"
  End If

  Selection.HomeKey Unit:=wdStory
  objFind.Replacement.Text = ""

  While objFind.Execute(FindText:=strFind1, MatchWildcards:=True)
    objFind.Execute FindText:=strFind2, MatchWildcards:=True, _
      ReplaceWith:="", Replace:=wdReplaceAll, Wrap:=wdFindStop

End Sub

Sub DeleteBracketsAndSpace()
  Application.ScreenUpdating = False

  '  Delet all parenthesis and the space in it.
  Call DeleteDelimiters(Selection.Find, "(", ")", True)

  Application.ScreenUpdating = True
End Sub

Thanks, all, It really helps a lot. I think I have got my solution :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.19 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.