아래 코드는 MS Word 문서를 검색하여 숫자를 추출하여 Excel에 입력합니다.
나에게 필요한 것은 문서에 12345와 같은 숫자가 있는 경우 1, 2, 3, 4, 5가 아닌 12345를 추출해야 한다는 것입니다. 문서 전체에 걸쳐 다양한 길이의 숫자가 있습니다.
나는 정규 표현식이 부족하다는 것을 알고 있지만 .Text = "[0-9]"
누군가가 도움을 줄 수 있기를 바랐습니다.
Public Sub NumbersToExcel()
Dim xlApp As Object
Dim xlWbk As Object
Dim xlWsh As Object
Dim blnStartExcel As Boolean
Dim i As Integer
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If xlApp Is Nothing Then
Set xlApp = CreateObject("Excel.Application")
If xlApp Is Nothing Then
MsgBox "Cannot activate Excel!", vbExclamation
Exit Sub
End If
blnStartExcel = True
End If
On Error GoTo ErrHandler
Set xlWbk = xlApp.Workbooks.Add
Set xlWsh = xlWbk.Worksheets(1)
With ActiveDocument.Content
With .Find
.ClearFormatting
.Text = "[0-9]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
While .Find.Execute
i = i + 1
xlWsh.Cells(i, 1) = "'" & .Text
Wend
.Find.MatchWildcards = False
End With
ExitHandler:
On Error Resume Next
xlWbk.Close SaveChanges:=True
If blnStartExcel Then
xlApp.Quit
End If
Set xlWsh = Nothing
Set xlWbk = Nothing
Set xlApp = Nothing
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End Sub