2017-10-24 19 views
0

単語vbaを使って単語を単語にしたい。単語の範囲内で単語ではない単語をどのように取得できますか?

私はこのAPIを試していますが、文字列のシリアルしか返しません。

Doucment.Range(開始、終了)

例:

これは、私はそれを読んだことがないこと、本です。


入力:

API(2,5)

出力:

ブック、I

こと

私は、いくつかのAPIがstartの位置とendの位置を入力してから、その文字列を返すことを期待しています。

可能ですか?

+0

あなたの例では、 'ActiveDocument.Range(2,5)'は2番目から5番目の文字列 "his"を返します。 – Variatus

+0

@Variatusはい、「文字」を返します。ドキュメントの2番目から5番目の「単語」を返すAPIが必要です。これは、単語の開始位置と終了位置がわからないためです。 –

答えて

0

Rangeを指定する場合は、StartEndを指定する必要があります。あなたがこれらの位置を知らない場合は、それらを見つける必要があります。次のコードはそれを行います。

Private Sub SelectWords() 

    Dim Rng As Range 

    With ActiveDocument 
     Set Rng = .Words(2) 
     With Rng 
      .MoveEnd wdWord, 4 
      Debug.Print .Text, .Start, .End 
     End With 
    End With 
End Sub 

これは、ダブル幅の文字として扱われる中国語の「単語」では機能しないことを指摘します。英語では、単語はそれに続く文字で定義されます。ほとんどの場合は空白です。

関連する問題