Тема: В Word 2007 отрисовка границ ячеек в таблице
Добрый день. Помогите разобраться в проблеме.
Есть необходимость в таблице в Word обрисовать границы ячеек, в том числе и диагонали. Особо не мудрствуя для начала запустила "создать макрос" и набила все необходимые границы через сам Word. На что VBA сгенерированл такой код:
' Макрос1 Макрос
'
'
Selection.MoveRight Unit:=wdCharacter, Count:=5, Extend:=wdExtend
With Selection.Cells
With .Borders(wdBorderLeft)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorPink
End With
With .Borders(wdBorderRight)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorGreen
End With
With .Borders(wdBorderTop)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorYellow
End With
With .Borders(wdBorderBottom)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorBlue
End With
With .Borders(wdBorderVertical)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorRed
End With
.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
With .Borders(wdBorderDiagonalUp)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = -587137025
End With
.Borders.Shadow = False
End With
End Sub
Особо "приятно", что в 2003 Word'е эта процедура отрабатывает на ура, а в 2007 генерируется ошибка
run-time error '5941':
Запрашиваемый номер семейства не существует
не строке
.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
А если ее закоментировать, то на следующей. Т.е. создается ощущение, что 2007 Word имеет какое-то другое представление о диагоналях в таблицах, нежели Word 2003.
Очень прошу Вашей помощи