为何下面判断WORD文档中有无边框或底纹的代码会出现误报?
下面的代码是为了判断一WORD文档中有无边框或底纹的,对短文档运行结果正确,但使用中发现,对于长一点的文档程序总是误报,即明明文档无字符边框,它返回说 "文档中有字符边框 ",即使在WORD读入一文本文件也是这样,但从代码看好像没有错误。
这个问题困扰我较长时间了,请高手指点。
Sub Test5()
Dim myFont As Font, myParFormat As ParagraphFormat
'仅字符
Set myFont = ActiveDocument.Content.Font
'判断是否有字符边框
If myFont.Borders.OutsideLineStyle > 0 Then
MsgBox "文档中有字符边框 "
'判断是否有字符底纹
ElseIf myFont.Shading.Texture <> wdTextureNone Then
MsgBox "文档中有字符底纹 "
End If
'段落格式
Set myParFormat = ActiveDocument.Content.ParagraphFormat
'判断是否有段落边框
If myParFormat.Borders.OutsideLineStyle > 0 Then
MsgBox "文档中有段落边框 "
'判断是否有段落底纹
ElseIf myParFormat.Shading.Texture <> wdTextureNone Then
MsgBox "文档中有段落底纹 "
End If
End Sub
[解决办法]
这是WORD的一个BUG,段数太多会出此问题。把段落标记删除试试。