連続した隣接文字を「単語」として認識するためのVBA文があるかどうかは分かりません。途中で(言葉として)?Word VBA - 「単語」または「文章」のX数をカウント/選択中に句読点を無視する
私の研究は、句読点や非アルファベット文字を無視したいと思うほとんどの人は、文字をトリミングまたは選択解除することに焦点を当てていることを示しています。私はがのこれらの文字を保持したいが、私はまた、非アルファベット文字を無視してを無視してマクロが何個の "単語"を選択するかを決定したい。 ; 9:00(視覚2;ワード7) 及び/
氏スミス・ハリス(ワード5目視2):
"は単語の単語" 対 "視覚" の単語の次の例を考えてみ(視覚的に1、Word 3)
テキストエクスパンダを使って簡単に(ニーモニックのショートカットで)アクセスする何百ものマクロがあります。その中には、アクションを選択して実行する数十のマクロ(ハイライト、太字、大文字、イタリック体、削除など)のテキストを左または右に変更することができます。
たとえば、私のカーソルがSmith-Harrisさんの右にあるかもしれません。おそらく、それを強調表示したり、大文字にしたり、削除したりしたいと思っています。私の目では、文字列を2つの "単語"(隣接するテキストの)として素早く評価するのはずっと簡単ですし、Wordが「単語」として数え切れないすべての破壊的でないアルファ文字を数えるという面倒な作業を行うのではなくテキストを選択して、それがWord標準によって5 "単語"であることを理解する。
テキストエキスパンダー自体は、プログラム内からテキストに直接行うことができるすべての機能を実行できますが、機能を実行するためにWordマクロを呼び出すよりはるかに高速で効率的ですマクロは選択から不要なスペースをインテリジェントにトリミングすることができるので、
しかし、私のカーソルがスミス - ハリスさんの右にあるときに、たとえばHighlight2PreviousWordsマクロを実行すると、強調表示されます"ハリス"
はここに私の「言葉のX番号を選択し、」マクロの2つの例です:
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
のすべての私のマクロが「何か」を除いて、同じように見える「いくつかの単語を選択して何かをします」もちろん、部分。だから、 "1つの単語を左に選択して何かをする"というマクロは、最初のマクロのように見えます。そして、 "2つ以上の単語を左に選択して何かをする"のすべてが第2のものと同じように見えます。私は通常、5単語を超えていません。なぜなら、視覚的にそれ以上にカウントする時間がかかるので、私は手動でテキストを選択することができるからです。
したがって、マクロはストレートテキストの単語には効果的ですが、他の文字が混在している場合はあまり効果がありません。私は非アルファベット文字を無視して、隣接するテキストのすべての文字列を "単語"として定義することができればと思っています。
誰でもこれを達成する方法を知っていますか?最初
ワウ。ちょうどうわー。私は私の目を信じることさえできません。私は多くの異なるバリエーションでそれをテストし、これは完全に動作します。すべて。シングル。時間。どのようなゲームチェンジャー!今すぐ私のリポジトリ内の膨大な数の "select X words"マクロをこのずっと良いソリューションに変更してください。また、RegExオプションについても説明します。多くのありがとう、Kazimierz! – HappyNanaMO