
텍스트에 [단어]-[단어]가 여러 개 있습니다. 예를 들어 self-interest 대신 self-interest가 올바른 형식입니다. MS Word의 와일드카드를 사용하여 스트로크 뒤의 불필요한 공백을 제거하려고 합니다. 찾기 및 바꾸기 상자에 다음을 입력합니다.
찾기: *- *
바꿀 내용: \1-\2
그러나 작동하지 않습니다. 이를 수행하기 위한 올바른 형식은 무엇입니까?
답변1
VBA:
WrapReplace
Word 문서에서 실행합니다 .
Sub WrapReplace()
Call RegExpReplace("(\w+)\-\s(\w+)", "$1-$2")
End Sub
Private Sub RegExpReplace(pattern As String, Backreference As String)
Dim strReplacement As String
Set oRegExp = CreateObject("VBScript.RegExp")
With oRegExp
.Global = True
.IgnoreCase = False
.pattern = pattern
End With
Set matches = oRegExp.Execute(ActiveDocument.Content)
For Each match In matches
Set matchRange = ActiveDocument.Content
strReplacement = oRegExp.Replace(match.Value, Backreference)
With matchRange.Find
.Text = match.Value
.Replacement.Text = strReplacement
.Wrap = wdFindAsk
.Execute Replace:=wdReplaceOne
End With
Next
End Sub