1
을 낮추기로 변환 나는 < 및> 문자 사이에 텍스트를 찾을 싶습니다 다음 단어의 첫 글자를 대문자로 "정상"경우에 발견 된 모든 텍스트를 설정합니다. 여기에 내가 지금까지 가지고있는 것입니다 :워드 VBA는 - 구분 기호 사이의 텍스트를 찾아 경우
Function findTextBetweenCarots() As String
Dim strText As String
With Selection
.Find.Text = "<" ' what about <[^0-9]+> ?
.Find.Forward = True
.Find.Wrap = wdFindContinue
End With
Selection.Find.Execute
' Application.Selection. ' how do I get the text between the other ">"?
findCarotSymb = Application.Selection.Text
End Function
또는 더 좋은 방법이 있습니까? 또한 간단한 문서에 근무 VBScript를 정규식 5.5 라이브러리를 사용하여 문제를 접근,하지만 복잡한 테이블 특정 문서에. 예를 들어 간단히 텍스트를 굵게 표시하려고하면 다음과 같이됩니다.
Sub BoldUpperCaseWords()
Dim regEx, Match, Matches
Dim rngRange As Range
Set regEx = New RegExp
regEx.Pattern = "<[^0-9]+>"
regEx.IgnoreCase = False
regEx.Global = True
Set Matches = regEx.Execute(ActiveDocument.Range.Text)
For Each Match In Matches
ActiveDocument.Range(Match.FirstIndex, Match.FirstIndex + Len(Match.Value)).Bold = True
Next
End Sub
은 테이블이있는 문서에서는 작동하지 않습니다. 사실, 심지어 굵은 올바른 텍스트합니다 (<>
사이에있는 텍스트.이 내가 놓친 거지 여기에 광범위한 문제가 있는게 틀림 없어 것입니다.
일치합니다가. 문서에 대한 특별한 뭔가가있다 I 이것을 사용하고 있습니다. ey이 도움이된다면, 4 컬럼 테이블입니다. 내가 할 수있는 가장이 내 옆에있는 편집에서 샘플 문서의 스크린 샷을 제공합니다. 이 모든 텍스트가 포함 된 경우 – JohnZaj
인쇄'ActiveDocument.Range.Text' 확인합니다. 은'regEx' 속성은 여러 줄의 텍스트를 처리 할 경우에도 확인합니다. 작동해야 '= –
regEx.MultiLine를 참 (가능하면, 테이블의 행을 반복하고 각 컬럼에 정규식을 적용하려고). 이제 테이블을 반복하려고합니다 ... – JohnZaj