word的vba很少玩的。笨法吧:Sub Test()
Dim i As Integer
Do While ReplaceStr("rich", CStr(i + 1) & ".")
i = i + 1
Loop
End Sub
Function ReplaceStr(ByVal findText As String, ByVal RepStr As String) As Boolean
Dim Rng As Range
Set Rng = ThisDocument.Content
With Rng.Find
.ClearFormatting
.Text = findText
.Replacement.ClearFormatting
.Replacement.Text = RepStr
.Execute Replace:=wdReplaceOne, Forward:=True
ReplaceStr = .Found
End With
End Function
Dim i As Integer
Do While ReplaceStr("rich", CStr(i + 1) & ".")
i = i + 1
Loop
End Sub
Function ReplaceStr(ByVal findText As String, ByVal RepStr As String) As Boolean
Dim Rng As Range
Set Rng = ThisDocument.Content
With Rng.Find
.ClearFormatting
.Text = findText
.Replacement.ClearFormatting
.Replacement.Text = RepStr
.Execute Replace:=wdReplaceOne, Forward:=True
ReplaceStr = .Found
End With
End Function
Sub Test1()
''手动打开word文档,然后执行下面的
Dim i As Integer
Dim mWord As Word.Application, wDoc As Word.Document
Set mWord = GetObject(, "word.application")
Set wDoc = mWord.ActiveDocument
Do While ReplaceStr(wDoc, "rich", CStr(i + 1) & ".")
i = i + 1
Loop
Set wDoc = Nothing
Set mWord = Nothing
End Sub
Function ReplaceStr(bDoc As Word.Document, ByVal findText As String, ByVal RepStr As String) As Boolean
Dim Rng As Range
Set Rng = bDoc.Content
With Rng.Find
.ClearFormatting
.Text = findText
.Replacement.ClearFormatting
.Replacement.Text = RepStr
.Execute Replace:=wdReplaceOne, Forward:=True
ReplaceStr = .Found
End With
End Function