모든 텍스트가 제공 한 샘플과 같은 경우 작동합니다. Excel에서 텍스트 파일을 열고 새 시트를 추가하여 대체 용어 표 (헤더 포함)를 작성하십시오. 첫 번째 열을 "이전"용어로, 두 번째 열을 "이후"용어로 읽도록 설정했습니다. 이 작업을 마친 후 Alt+ F11를 눌러 VBA 편집기 창을 엽니 다. 새 모듈을 삽입하고 다음 코드에 붙여 넣습니다.
Option Explicit
Sub cleanupText()
Dim allTxt() As Variant, sublist() As Variant
Dim i As Long, j As Long, k As Long, tdots As Integer
'Store data from sheets in arrays.
allTxt = Sheets(1).UsedRange.Value
sublist = Sheets(2).UsedRange.Offset(1, 0).Resize(Sheets(2).UsedRange.Rows.Count - 1, Sheets(2).UsedRange.Columns.Count).Value
For i = 1 To UBound(allTxt, 1)
For j = 1 To UBound(allTxt, 2)
'Loop through replacement terms and make replacements to data in array.
For k = 1 To UBound(sublist, 1)
allTxt(i, j) = Replace(allTxt(i, j), sublist(k, 1), sublist(k, 2))
Next k
allTxt(i, j) = Trim(allTxt(i, j))
'Remove series of trailing periods.
If Right(allTxt(i, j), 1) = "." Then
tdots = 1
Else
tdots = 0
End If
Do While tdots = 1
allTxt(i, j) = Left(allTxt(i, j), Len(allTxt(i, j)) - 1)
If Right(allTxt(i, j), 1) = "." Then
tdots = 1
Else
tdots = 0
End If
Loop
allTxt(i, j) = Trim(allTxt(i, j))
Next j
Next i
'Print cleaned up results in array onto sheet.
ActiveSheet.UsedRange.Value = allTxt
End Sub
코드를 실행 한 다음 파일을 텍스트로 저장하십시오.