Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / В Word 2007 отрисовка границ ячеек в таблице / 7 сообщений из 7, страница 1 из 1
15.06.2012, 10:14
    #37839011
Галинка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
Добрый день. Помогите разобраться в проблеме.
Есть необходимость в таблице в Word обрисовать границы ячеек, в том числе и диагонали. Особо не мудрствуя для начала запустила "создать макрос" и набила все необходимые границы через сам Word. На что VBA сгенерированл такой код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Sub Макрос1()
'
' Макрос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 генерируется ошибка
Код: plaintext
1.
run-time error '5941':
Запрашиваемый номер семейства не существует
не строке
Код: vbnet
1.
.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone


А если ее закоментировать, то на следующей. Т.е. создается ощущение, что 2007 Word имеет какое-то другое представление о диагоналях в таблицах, нежели Word 2003.
Очень прошу Вашей помощи
...
Рейтинг: 0 / 0
15.06.2012, 13:46
    #37839552
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
Код: vbnet
1.
 = Options.DefaultBorderLineStyle
...
Рейтинг: 0 / 0
15.06.2012, 14:04
    #37839594
Галинка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
К сожалению положительного результата это не дает.
Проблема, по-моему, не в
Код: plaintext
Options.DefaultBorderLineStyle
или
Код: plaintext
wdLineStyleNone
, а в индексе границ.

Именно
Код: plaintext
.Borders(wdBorderDiagonalDown)
и
Код: plaintext
.Borders(wdBorderDiagonalUp)
создают эту ошибку.
Причем, обращаю ваше внимание, что в 2003 Word'е эта конструкция работает. Более того, это создано с помощью записи макроса.
...
Рейтинг: 0 / 0
15.06.2012, 16:39
    #37839965
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
авторэто создано с помощью записи макроса.
Ну так что мешает сделать тоже самое в 2007?
...
Рейтинг: 0 / 0
18.06.2012, 06:48
    #37842103
Галинка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
ничто не мешает. в том-то и дело, что ошибка остается, даже если изначально файл создается в 2007 Word'е
...
Рейтинг: 0 / 0
18.06.2012, 09:05
    #37842164
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
Странно. У меня нормально. Офис правда лицензионный.
...
Рейтинг: 0 / 0
18.06.2012, 09:28
    #37842185
Галинка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Word 2007 отрисовка границ ячеек в таблице
у меня тоже лицензионный. но поставлен поверх офиса 2003. думаю, что проблема в этом. попробую еще на чистом компьютере
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / В Word 2007 отрисовка границ ячеек в таблице / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]