2016-10-05 5 views
1

"elpmaS texT"は "サンプルテキスト"になります。単語ごとに単語を逆順に並べ替えます。

For Each word In ActiveDocument.Words 
    word = StrReverse(word) 
Next word 

それは動作しません。しかし:

私はこのような何かを試してみました。

どうすればいいですか?

答えて

3

あなたは各ループのために使用している、あなたは単語を変更することはできませんので、forループを使用します。

Dim i As Integer 

For i = 1 To ActiveDocument.Words.Count Step 1 

    ActiveDocument.Words(i) = StrReverse(ActiveDocument.Words(i)) & " " 
Next i 
+0

感謝。選択したテキストに対してこれを行うにはどうすればよいですか? – amitairos

0
Sub ReverseSelectedWords() 
    Dim i As Integer 
    Dim oWords As Words 
    Dim oWord As Range 

    Set oWords = Selection.Range.Words 

    For i = 1 To oWords.Count Step 1 

     Set oWord = oWords(i) 

     ''Make sure the word range doesn't include a space 
     Do While oWord.Characters.Last.text = " " 
      Call oWord.MoveEnd(WdUnits.wdCharacter, -1) 
     Loop 

     Debug.Print "'" & oWord.text & "'" 
     oWord.text = StrReverse(oWord.text) 

    Next i 

End Sub 
関連する問題