【发布时间】:2016-10-05 11:51:36
【问题描述】:
我想像这样反转 Word 文档中的单词:“elpmaS texT”变成“示例文本”。
我尝试过这样的事情:
For Each word In ActiveDocument.Words
word = StrReverse(word)
Next word
但是它不起作用。
我该怎么做?
【问题讨论】:
我想像这样反转 Word 文档中的单词:“elpmaS texT”变成“示例文本”。
我尝试过这样的事情:
For Each word In ActiveDocument.Words
word = StrReverse(word)
Next word
但是它不起作用。
我该怎么做?
【问题讨论】:
当你使用 for each 循环时,你无法改变单词,所以使用 for 循环:
Dim i As Integer
For i = 1 To ActiveDocument.Words.Count Step 1
ActiveDocument.Words(i) = StrReverse(ActiveDocument.Words(i)) & " "
Next i
【讨论】:
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
【讨论】: