一只小蝈蝈 2005年02月22日
一个关于word2000兼容性的一个问题(急!!!)
以下代码的功能:先在文档中写入一段文本,然后选中一小段文本,然后运行sub a()(最好多选中几处文本,多运行几次sub a()),这样会将选中的文本的底纹变成相应的颜色,然后运行 sub b(),这样会查找到这段加了颜色的文本,以上功能在word97和word2003使用正常,但是在word2000中就找不到相应的文本,不知何故,请各位高手帮忙!!

Sub b()
Do While HmFindError(True) = True
Loop
End Sub

Sub a()
Selection.Font.Shading.BackgroundPatternColorIndex = 5
End Sub

Function HmFindMark(ByVal Flag As Boolean, ByVal markflag As Long) As Boolean
With Selection.Find
.ClearFormatting
.Font.Shading.BackgroundPatternColorIndex = markflag
.Execute FindText:="", Forward:=Flag, Format:=True
If .Found = False Then
.ClearFormatting
HmFindMark = False
Exit Function
End If
.ClearFormatting
'.Execute
End With
HmFindMark = True

End Function

Function HmFindError(ByVal Flag As Boolean) As Boolean
If HmFindMark(Flag, 5) = True Then
s1 = Selection.Range.Start
e1 = Selection.Range.End
Selection.SetRange Start:=s1, End:=e1
End If

End Function
...全文
27 点赞 收藏 3
写回复
3 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Office开发/ VBA
创建于2007-08-27

4457

社区成员

1.7w+

社区内容

其他开发语言 Office开发/ VBA
社区公告
暂无公告