각 줄의 끝으로 이동하고 괄호 안의 굵은 텍스트
Dec 30 2020
MS Word의 각 줄 끝에서 특정 단어의 서식을 자동화해야합니다. Word 매크로의 한계로 인해 작업을 수행 할 매크로를 기록 할 수 없었기 때문에 여기에 게시해야합니다. 내가 필요한 것은 다음을 수행하는 것입니다.
- 각 줄에서 (
- )가 문장의 끝으로 나올 때까지 괄호 안의 텍스트 (괄호 포함)를 선택하기 시작합니다.
- 텍스트를 굵게 서식 지정
- 파일 끝까지 수행
- 예외 : 이미 굵게 표시되고 밑줄이 표시된 제목은 서식을 지정하지 마십시오.
어떻게 할 수 있습니까? 또는 아무것도하지 않는 내 코드를 수정하십시오.
Sub m1()
'
' m1 Macro
'
'
Dim i As Integer
With Selection.Find
For i = 1 To lastRow
.Forward = True
.ClearFormatting
.MatchCase = False
.Wrap = wdFindContinue
.Execute FindText:="("
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Bold = wdToggle
Selection.Font.BoldBi = wdToggle
Next
End With
End Sub
답변
1 RichMichaels Dec 30 2020 at 22:12
문서 본문 텍스트의 스타일이 항상 제목 스타일이 아닌 특정 지정 스타일이라는 것을 알고 있으면 매크로가 필요하지 않을 수 있습니다. 다음과 같이 찾기 및 바꾸기를 설정하십시오.

스크린 클립에서 와일드 카드 코드를 읽기 어려운 경우 [(] * [)]
Roy Dec 31 2020 at 13:51
마침내이 코드를 작성하는 데 성공했습니다.
Sub m1()
Selection.HomeKey Unit:=wdStory
With Selection.Find
Do While .Execute(FindText:="(", Forward:=True, MatchWildcards:=False) = True
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
Selection.Font.Bold = wdToggle
Selection.Font.BoldBi = wdToggle
Selection.EndKey Unit:=wdLine
Loop
End With
End Sub
작동했습니다! :) 도와 주셔서 감사합니다!
ZygD Dec 30 2020 at 16:54
MS Word는 선에서 작동하지 않습니다. 다음 VBA 코드는 괄호로 끝나는 단락을 찾아 내용과 함께 굵게 표시합니다.
Sub Bold_ending_parentheses()
Dim par As Word.Paragraph
Dim str As String
Dim closes As Byte
Dim opens As Long
For Each par In ActiveDocument.Paragraphs
str = StrReverse(par.Range.Text)
closes = InStr(Left(str, 4), ")")
If closes Then
opens = InStr(str, "(")
If opens Then
With par.Range
.Find.Text = StrReverse(Mid(str, closes, opens - closes + 1))
Do
.Find.Execute
If .Find.Found Then .Font.Bold = True
Loop While .Find.Found
End With
End If
End If
Next
End Sub
편집하다:
찾기 및 바꾸기 사용의 예입니다. 이를 사용하면 괄호 안의 모든 텍스트가 굵게 표시됩니다 (단락 / 줄 끝에 있어야한다는 요구 사항을 고려하지 않음).
Sub ApplyBoldWithinParentheses()
With ActiveDocument.Content.Find
.ClearFormatting
.Text = "[(]*[)]"
.Replacement.Font.Bold = True
.Format = True
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
End Sub