0
내 단어 문서를 검색하고 APPENDIX3 단어를 찾은 다음이 코드를 찾아서 앞뒤에 공백을 삭제합니다 (이 경우에는 섹션 나누기). 그런 다음 숫자 3을 1 씩 줄이고 for 루프의 맨 위로 돌아가서 APPENDIX2를 검색하고 원하는 항목을 삭제합니다. 그것은 APPENDIX1에서 끝나는 3 번 반복됩니다. 유일한 문제는 APPENDIX3 항목 만 삭제한다는 것입니다. 매크로를 재실행하면 APPENDIX2와 APPENDIX2 만 삭제됩니다. 등등. 증가하고 있지만 선택 사항이 지워지지는 않습니다. 반복 할 때마다 코드를 수정하고 매번 다른 텍스트를 선택할 수있는 방법에 대한 제안 사항은 무엇입니까?for 루프의 단어 텍스트 선택
Sub RemoveAppendices()
Dim i As Integer
Application.ScreenUpdating = False
Selection.HomeKey Unit:=wdStory
'Cntr = 3
'For i = 1 To 3
For i=3 to 1 step -1
With Selection.Find
.ClearFormatting
.Text = "APPENDIX" & Cntr
If Selection.Find.Execute Then
Selection.Select
Selection.Delete
With Selection
.EndKey Unit:=wdStory
.TypeBackspace
.Delete
End With
End If
End With
'Cntr = Cntr - 1
Next i
End Sub
컬렉션의 일부를 삭제할 때 마지막 항목부터 처음으로 루프를 실행해야합니다. 그러므로'For i = 3 to 1 step -1'과 같은 것을 시도해보십시오. 또한,'Cntr = Cntr -1' 대신'i'를 사용할 수 있습니다. –
변경 사항을 반영하기 위해 위의 코드를 수정했으며 실제로 더 효율적입니다 (감사합니다). 그러나 발견 된 초기 텍스트를 지우고 다음 텍스트 값을 찾고 If 문을 통해이 선택 항목을 실행하는 문제는 해결되지 않았습니다. – user12059