+ -
当前位置:首页 → 问答吧 → 大家帮忙看看这段代码问题出在哪里

大家帮忙看看这段代码问题出在哪里

时间:2010-11-04

来源:互联网

我要分别统计以 "一、" 和"(一)" 开始的分别有多少段,统计数字时而正确,时而多一个(空白文档会显示1),去掉On Error Resume Next,则会显示超出数值范围(4608 错误),为什么啊?盼高手指教。
Sub dd()
Dim sss, yujushu1, yujushu2
yujushu1=0:yujushu2=0
On Error Resume Next
For sss= 1 To ActiveDocument.Paragraphs.Count  '对全文段落进行循环
With ActiveDocument.Paragraphs(sss).Range
If ActiveDocument.Range(.Start, .Start + 2).Text Like "一、" Then
yujushu1 = yujushu1 + 1
ElseIf ActiveDocument.Range(.Start, .Start + 3).Text Like "(一)" Then
yujushu2 = yujushu2 + 1
End If
End With
Next
MsgBox  "一、   有" &  yujushu1 & "个                   " &  "(一)   有" & yujushu2 & "个"
end sub

[ 本帖最后由 sqhsqhli 于 2010-11-5 08:05 编辑 ]

作者: sqhsqhli   发布时间: 2010-11-04

Sub dd()
Dim sss, yujushu1, yujushu2
yujushu1 = 0: yujushu2 = 0
On Error Resume Next
For sss = 1 To ActiveDocument.Paragraphs.Count '对全文段落进行循环
With ActiveDocument.Paragraphs(sss).Range
If Len(ActiveDocument.Paragraphs(sss).Range.Text) = 1 Then
GoTo ne:
ElseIf ActiveDocument.Range(.Start, .Start + 2).Text Like "一、" Then
yujushu1 = yujushu1 + 1
ElseIf ActiveDocument.Range(.Start, .Start + 3).Text Like "(一)" Then
yujushu2 = yujushu2 + 1
End If
End With
ne:
Next
MsgBox "一、   有" & yujushu1 & "个" & "(一)   有" & yujushu2 & "个"
End Sub

作者: sqhsqhli   发布时间: 2010-11-05