选中的编码段落改为圆圈字
请问下列代码,为什么每次只能替换一个,
```vb.net
Sub 选中的编码段落改为圆圈字()
Dim para As Paragraph
Dim firstLine As String
Dim firstNumber As Integer
Dim newBullet As String
' 检查是否选中了文本
If Selection.Type = wdSelectionIP Then
MsgBox "请选中要处理的段落文本!", vbExclamation
Exit Sub
End If
' 循环处理每个选中的段落
For Each para In Selection.Paragraphs
' 获取段落的文本
firstLine = para.Range.Text
' 去除文本中的空格和其他非数字字符
firstLine = Trim(firstLine)
If IsNumeric(Left(firstLine, 1)) Then
' 获取首行的数字
firstNumber = Val(Left(firstLine, 2))
If firstNumber > 10 Then
' 使用圆圈字替换数字
newBullet = ChrW(9323 + firstNumber - 12) & " " ' 中圆圈字的11-20字符
' 将替换后的字符应用到段落中
para.Range.ListFormat.ApplyBulletDefault
MsgBox firstNumber
para.Range.Text = Replace(para.Range.Text, Left(firstLine, 2), newBullet, 1, 1)
Else
' 使用圆圈字替换数字
newBullet = ChrW(9312 + firstNumber - 1) & " " ' Unicode编码中圆圈字的1-10字符
' 将替换后的字符应用到段落中
para.Range.ListFormat.ApplyBulletDefault
If firstNumber = 10 Then
para.Range.Text = Replace(para.Range.Text, Left(firstLine, 2), newBullet, 1, 1)
Else
para.Range.Text = Replace(para.Range.Text, Left(firstLine, 1), newBullet, 1, 1)
End If
End If
End If
Next para
End Sub
```