Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с бордюрами Word -таблица [D7, 2000, XP]


Dimich1978 ©   (2008-07-24 15:25:00) 

Пишу код
 W.SElection.Borders.LineStyle := wdLineStyleNone;
Для того чтобы сощзданная таблица была при печати не видна. Но выдает ошибку что метода LineStyle- нет.
Вот что выдрал из макроса
Selection.Borders(wdBorderTop).LineStyle = wdLineStyleNone
   Selection.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
   Selection.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
   Selection.Borders(wdBorderRight).LineStyle = wdLineStyleNone
   Selection.Borders(wdBorderVertical).LineStyle = wdLineStyleNone
   Selection.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
   Selection.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
Как можно убрать бордюры у таблицы. Заранее спасибо.


Dimich1978   (2008-07-25 12:42:00) [1]

Вот это метод у меня работает(Д7-ХРСП2-2003ворд)
 W.Selection.Cells.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleNone;
А это не пашет:
W.ActiveDocument.Range.Tables(1).Borders(wdBorderVertical).LineStyle = wdLineStyleNone


DFT   (2008-07-24 23:41:00) [2]

Самому интересно стало.
Правильно будет так ...

ActiveDocument.Range.Tables(1).Borders(wdBorderVertical).LineStyle = wdLineStyleNone
ActiveDocument.Range.Tables(1).Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone


DFT   (2008-07-24 17:50:00) [3]

Еще можно попробовать использовать индексированный доступ к таблицам.
Ворда под рукой нет, но помоему, что-то вроде...
ActiveDocument.Range.Table[i]. ... и посмотреть какие свойства есть у объекта-таблицы.
Возможно там регулируются и стиль ее границ


clickmaker   (2008-07-24 17:20:00) [4]

а так?
Selection.Borders[wdBorderTop].LineStyle


Vlad Oshin   (2008-07-24 17:05:00) [5]

а так?
Selection.Cells.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleNone;


DFT   (2008-07-24 16:28:00) [6]

Насколько я знаю, структуры данных используемые в Word, аналогичны, и для VBA и для любых приложений использующих его СOM интерфейс (если вы рабатаете непосредственно, без применения каких-либо связывающих "компонентов-адаптеров").


Anatoly Podgoretsky   (2008-07-24 15:45:00) [7]

Вот что говорит MSDN, что такое Borders

> Use the Borders propertyto return the Borders collection

От себя добавлю, что это индексированое свойство.


Dimich1978   (2008-07-24 15:38:00) [8]

В таком случае Borders не является методом.


DFT   (2008-07-24 15:36:00) [9]

А если писать также...?

W.SElection.Borders(wdBorderTop).LineStyle := wdLineStyleNone;


Наверх

Титульная страница Поиск, карта сайта Написать письмо