여러 페이지의 긴 단어 목록을 사용하여 별도 저장 한 문서 파일에 액세스하는 Word의 매크로 작업 중입니다. 단어 목록 문서는 줄 바꿈으로 각 단어를 분리하는 ...Word 2016/VBA 단어 목록에서 각 단어의 첫 번째 사용 강조 표시
FMS
CPR
ABC 방송
, 같은 형식입니다.
매크로는 목록에서 각 단어의 첫 번째 사용을 강조 표시해야합니다.
매크로는 모든 단어 사용을 강조 표시하고 추가로 다른 단어의 일부일 때 해당 단어를 강조 표시합니다. 예를 들어 freeze라는 단어에서 EZE를 강조 표시하지만 eze가 단독으로 나타날 때만 강조 표시해야합니다.
1. 먼저 강조 표시하고 을 강조 표시 할 수 있습니까? 2. 실제 단어를 포착하는 것이 아니라 그 단어가 포함 된 다른 단어를 모두 포착하는 방법을 확인하는 방법은 무엇입니까? 나는 VBA로 그렇게 할 수없는 것 같습니다. 내 현재 코드 :
Sub TD()
'
Dim sCheckDoc As String
Dim docRef As Document
Dim docCurrent As Document
Dim wrdRef As String
Dim wrdPara As Paragraph
sCheckDoc = "c:\check.docx"
Set docCurrent = Selection.Document
Set docRef = Documents.Open(sCheckDoc)
docCurrent.Activate
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Highlight = True
.Replacement.Text = "^&"
.Forward = True
.Format = True
.MatchWholeWord = True
.MatchCase = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
For Each wrdPara In docRef.Paragraphs
wrdRef = wrdPara.Range.Text
If Asc(Left(wrdRef, 1)) > 32 Then
' remove the paragraph mark:
wrdRef = Left(wrdRef, Len(wrdRef) - 1)
With Selection.Find
.Wrap = wdFindContinue
.Text = wrdRef
.Execute Replace:=wdReplaceAll
End With
End If
Next wrdPara
docRef.Close
docCurrent.Activate
End Sub
감사합니다. 예, wdReplaceOne으로 변경하려고 시도했습니다. 예, 강조 표시하지 않는 것처럼 보였습니다. 나는 그것이 replaceone으로 수표 문서의 첫 단어 만 찾아서 대체한다고 가정합니다. 비록 내가 wdFindContinue가 모든 사용 가능한 단어를 반복하도록 만들었지 만. – bblave
루핑 중입니다. 중단 점 및 스테핑 코드로 확인했습니다. 내 테스트의 두 버전 모두 검사 목록의 마지막 단어 만 강조 표시되었습니다. 그리고 여전히 목록을 반복하면서 아무 것도 강조 표시하지 않았습니다. 나는 곤두박질 친다. – June7
또 다른 테스트를했습니다. 이번에는 WordPad 대신 Word를 사용하여 Check 문서를 만들었습니다. 추천 된 편집 코드가 완벽하게 작동했습니다. 아직도 난처한. – June7