powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / В Word 2007 отрисовка границ ячеек в таблице
7 сообщений из 7, страница 1 из 1
В Word 2007 отрисовка границ ячеек в таблице
    #37839011
Галинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите разобраться в проблеме.
Есть необходимость в таблице в 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
В Word 2007 отрисовка границ ячеек в таблице
    #37839552
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
 = Options.DefaultBorderLineStyle
...
Рейтинг: 0 / 0
В Word 2007 отрисовка границ ячеек в таблице
    #37839594
Галинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению положительного результата это не дает.
Проблема, по-моему, не в
Код: plaintext
Options.DefaultBorderLineStyle
или
Код: plaintext
wdLineStyleNone
, а в индексе границ.

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


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