연속되는 인접한 문자를 "단어"로 인식하는 VBA 문이 있는지 알 수 있습니까? (단어로서) 도중에?Word VBA - "단어"또는 "문장"의 X 수를 계산/선택하는 동안 구두점 무시
필자의 연구에 따르면 구두점 및/또는 비 알파 문자를 무시하려는 대부분의 사람들은 문자 자르기 또는 선택 해제에 중점을 둡니다. 내가 이러한 문자를 보유하고 싶지만, 또한 비 알파 문자가 은 무시 무시 매크로를 선택하는 동안 얼마나 많은 "단어"를 결정하는 동안 싶습니다.
은 "단어 즉"대 "시각적"단어의 다음 예 고려해
양 스미스 해리스 (시각 2, 워드 5) 오전 9 (시각 2, 단어 7) 및/또는 (시각적으로 1, Word 3)
텍스트 확장기를 통해 쉽게 액세스 할 수있는 수백 개의 매크로가 있으며 그 중 매크로를 사용하여 수십 개의 매크로를 선택하고 수행합니다 (예 : 강조, 굵게, 대문자, 기울임 꼴, 삭제 등)을 텍스트의 왼쪽이나 오른쪽으로 옮깁니다. 필자의 필사본 편집 작업에 자주 사용됩니다.
예를 들어, 내 커서가 Smith-Harris 양 오른쪽에있을 수 있으며 커서를 강조 표시하거나 대문자로 만들거나 삭제하려고 할 수 있습니다. 내 눈이 그 문자열을 (인접한 텍스트의) 2 "단어"로 신속하게 평가하여 Word가 "단어"로 간주하는 파괴적이지 않은 모든 비 알파벳 문자를 계산할 지루한 작업을 수행하는 것이 아니라 훨씬 빠르고 쉬워졌습니다. 텍스트를 선택하여 Word 표준에 따라 5 "단어"라는 것을 파악합니다.
텍스트 확장기 자체가 프로그램 내에서 텍스트에 직접 할 수있는 모든 기능을 수행 할 수 있지만 기능을 수행하기 위해 Word 매크로를 호출하는 것이 훨씬 빠르고 효율적입니다 매크로가 선택에서 원하지 않는 공백을 지능적으로 다듬을 수 있기 때문에
그러나 내 음모가 Smith-Harris 오른쪽에있는 동안 Highlight2PreviousWords 매크로 (예 : 아래)를 실행하면 강조 표시 만됩니다. "- 해리스."
여기 내 "단어의 X 번호를 선택"매크로의 두 가지 예 :
Sub h1lw_HighlightPrevious1Word()
Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
Dim oRng As Word.Range
Set oRng = Selection.Words(1)
Do While oRng.Characters.Last = " "
oRng.MoveEnd wdCharacter, -1
Loop
oRng.Select
Selection.Range.HighlightColorIndex = wdYellow
Selection.Collapse Direction:=wdCollapseEnd
End Sub
Sub h2lw_HighlightPrevious2Words()
'
Selection.MoveLeft Unit:=wdWord, Count:=2, Extend:=wdExtend
Dim oRng As Range
Set oRng = Selection.Range
Do While oRng.Characters.Last = " "
oRng.MoveEnd wdCharacter, -1
Loop
oRng.Select
Selection.Range.HighlightColorIndex = wdYellow
Selection.Collapse Direction:=wdCollapseEnd
End Sub
의 내 모든 매크로는 "무언가"를 제외하고 같은 모양 "일부 단어를 선택하고 무언가를" 물론, 부분. 따라서 "왼쪽으로 한 단어 선택하고 무언가를하십시오"라는 매크로는 모두 첫 번째 매크로처럼 보이며 "왼쪽에 2+ 단어를 선택하고 무언가를 수행"하는 모든 매크로가 두 번째 매크로처럼 보입니다. 일반적으로 5 단어를 넘어서는 것은 아닙니다. 시각적으로 그 이상으로 계산되기 때문에 텍스트를 수동으로 선택할 수 있기 때문입니다.
그래서 매크로는 스트레이트 텍스트 단어에 적합하지만 다른 문자가 혼합되어있을 때는 그렇게 좋지 않습니다. 비 알파 문자를 무시하고 인접한 텍스트의 모든 문자열을 "단어"로 정의하고 싶습니다.
누구든지이 작업을 수행하는 방법을 알고 있습니까?첫째
와우. 와우. 나는 내 눈을 믿을 수 없다. 여러 변형으로 테스트 해봤는데 완벽하게 작동합니다. 마다. 단일. 시각. 이 얼마나 게임 체인저! 이제 나의 리포지토리에있는 엄청나게 많은 "셀렉트 X 단어"매크로를이 훨씬 더 나은 솔루션으로 변경하십시오. RegEx 옵션도 살펴 보겠습니다. 많은 감사, Kazimierz! – HappyNanaMO