Word2003表格的AutoFormatType和Style的兼容问题
'Word 2000
Sub Word2000()
Selection.Tables(1).AutoFormat Format:=wdTableFormatClassic2, ApplyBorders _
:=True, ApplyShading:=True, ApplyFont:=True, ApplyColor:=True, _
ApplyHeadingRows:=True, ApplyLastRow:=False, ApplyFirstColumn:=True, _
ApplyLastColumn:=False, AutoFit:=True
End Sub
'Word2003
Sub Word2003()
With Selection.Tables(1)
.Style = "列表型 5"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
End Sub
Sub Test()
MsgBox Selection.Tables(1).AutoFormatType
MsgBox Selection.Tables(1).Style
End Sub
Sub Word2000()
Selection.Tables(1).AutoFormat Format:=wdTableFormatClassic2, ApplyBorders _
:=True, ApplyShading:=True, ApplyFont:=True, ApplyColor:=True, _
ApplyHeadingRows:=True, ApplyLastRow:=False, ApplyFirstColumn:=True, _
ApplyLastColumn:=False, AutoFit:=True
End Sub
'Word2003
Sub Word2003()
With Selection.Tables(1)
.Style = "列表型 5"
.ApplyStyleHeadingRows = True
.ApplyStyleLastRow = True
.ApplyStyleFirstColumn = True
.ApplyStyleLastColumn = True
End With
End Sub
Sub Test()
MsgBox Selection.Tables(1).AutoFormatType
MsgBox Selection.Tables(1).Style
End Sub
看出上边代码的区别了吗?
在Word2000里边表格的样式采用AutoFormatType,而在Word2003里边采用的是Style,虽然在Word2003里边也保留了AutoFormatType,但是存在一个很严重的问题,就是如果文档使用Style属性进行制作,AutoForamtStyle读出的值永远是1,虽然Style更加方便,但是设置于读出的值不符合真实情况,真是讨厌,所以以后在使用这两个属性的时候要慎重。