一个关于word2000兼容性的问题(急!!!)

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

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

Sub b()
Do While HmFindError(True) = True
Loop
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
...全文
123 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一只小蝈蝈 2005-02-28
  • 打赏
  • 举报
回复
这可怎么 办呀
lsftest 2005-02-27
  • 打赏
  • 举报
回复
是有问题......
进行测试,我选了一段字符串,里面有个"目"字,执行你得到sub a()...
然后把你的sub HmFindMark()改成这样:

Function HmFindMark(ByVal Flag As Boolean, ByVal markflag As Long) As Boolean
With Selection.Find
.ClearFormatting
.Execute FindText:="目", Forward:=Flag, Format:=True
MsgBox .Font.Shading.BackgroundPatternColorIndex

If .Found = False Then
.ClearFormatting
HmFindMark = False
Exit Function
End If
.ClearFormatting
'.Execute
End With
HmFindMark = True

End Function

这时运行sub b,一下子就找到了那个"目"字,但问题是随后弹出来的那个msgbox,显示的.Font.Shading.BackgroundPatternColorIndex居然是15,显然跟你设置的5不同,我想这就是问题所在了...
至于原因还没找到.....
一只小蝈蝈 2005-02-26
  • 打赏
  • 举报
回复
各位帮忙呀,不是以上各位所说的问题,
以下程序在word97 word2003下可以运行,但是在word2000 不好用,请帮助改一下,不要改A,只改B程序,谢谢 了!!
Sub a()
Selection.Shading.BackgroundPatternColorIndex = wdDarkRed
End Sub
Sub b()
With Selection.Find
.Font.Shading.BackgroundPatternColorIndex = wdDarkRed
.Execute
End With

End Sub
XlittleX 2005-02-25
  • 打赏
  • 举报
回复
Word的安全设置问题吧。
weidp2004 2005-02-24
  • 打赏
  • 举报
回复
同意楼上的
沐NeMo 2005-02-24
  • 打赏
  • 举报
回复
Word2000没有问题的.
techgopher 2005-02-23
  • 打赏
  • 举报
回复
看我在VBA板的答复吧。我现在估计是你的程序错误凑巧在Word97、Word2003试的时候没显出来,应该不是兼容性问题。
一只小蝈蝈 2005-02-23
  • 打赏
  • 举报
回复
各位帮忙呀!
熊孩子开学喽 2005-02-23
  • 打赏
  • 举报
回复
没有试过呀,我只用WORD97的,之后的版本我认为没有什么改进,体积倒是见长不少,所以一直没有用过。
XlittleX 2005-02-22
  • 打赏
  • 举报
回复
up

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧