Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 09.01.2009, 08:12   #1
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
Вопрос как провести графич.линию через сердину клекти таблицы?

С прошедшими праздниками всех!
есть файл-пример: таблицы и линии.rar, есть вопрос: как программно нарисовать линию которая ровно посередине пересечет строку или столбец и на пол сантиметра будет "торчать" с обеих сторон таблицы? при условии, что всегда во всех ячейках стоиот выравнивание по центру.
tolikman вне форума Ответить с цитированием
Старый 09.01.2009, 08:41   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,533
По умолчанию Вот так

Пожалуй, не стоит делать это путём усложнения границ таблицы.
Лучше подбери координаты рисованной (поверх) линии.

Код:
ActiveDocument.Shapes.AddLine(130, 110, 256, 110).Select
(Здесь 110 — расстояние в пикселах от верха страницы, а 130 и 256 — концов отрезка от левого края.)
Подбери цифры, и усё.

А легче, однако, не программно, а вручную:
Настройка > панель Рисование > Линии (мы ведь юзаем Word?..)
Sasha_Smirnov вне форума Ответить с цитированием
Старый 09.01.2009, 12:19   #3
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

проблема не в том что я мучаю границы таблицы. проблема в том, чтонеобходимо именно программно рисовать линии на большом количестве таблиц в одном док-те, которых в свою очередь тоже много, нужна автоматизация.
как рисовать линии я знаю, а как узнать координаты ячейки, или столбца, или строки нет. В этом вся проблема. Как мне узнать какие цифры надо подобрать.
Если таблица была бы с фиксированной шириной равной ширине страницы, то я бы смог провести вертикальную линию, впринципе с трудом можно вычислить и горизонтальные координаты таблицы, которая не по ширине.
но как определить высоту? верхнюю координату таблицы?
tolikman вне форума Ответить с цитированием
Старый 09.01.2009, 14:52   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,809
По умолчанию

A с какой целью это делается? Может поискать выход проще?
viter.alex вне форума Ответить с цитированием
Старый 09.01.2009, 16:08   #5
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

Я искал, ненашол. Программа должна выводить результат именно в таком виде. А альтернативу линиям я не нашол...
tolikman вне форума Ответить с цитированием
Старый 09.01.2009, 16:19   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,809
По умолчанию

Зачем? Можно порыть.
Думаю, главная задача здесь, определять положение курсора не в символах, а в пикселях относительно начала страницы. Дальше просто.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 09.01.2009, 16:35   #7
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

Документ полность управляется программой, от создания до сохранения и закрытия, как мне определить сколько пикселей от начала страницы. Я не умею помещать курсор в нужное место, и Selection в данном случае я не пользуюсь, подскажи как определить координаты нужного места в документе, я бы этим очень много зайцев убил.
Какую альтернативу линиям можно найти? когда примитивнее линии я ничего не знаю. Заранее спасибо.
tolikman вне форума Ответить с цитированием
Старый 09.01.2009, 16:38   #8
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,809
По умолчанию

Нашел в Help такое для рисунков:
Код:
  Shape(имя_линии).RelativeHorizontalPosition = _
    wdRelativeHorizontalPositionColumn 'выровнять относительно колонки
    Shape(имя_линии).Left = wdShapeCenter 'как выровнять относительно колонки: по центру.
Выравнивание относительно строки смотрю, но там сложнее как-то.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 09.01.2009, 16:51   #9
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,809
По умолчанию

Вот этот код рисует вертикальную линию и выравнивает ее относительно центра столбца таблицы. Координаты заданы произвольно, но можно подумать, как брать положение таблицы и уже из нее брать координаты.
Код:
Dim oline As Shape
Set oline = ActiveDocument.Shapes.AddLine(100, 100, 100, 200)
oline.RelativeHorizontalPosition = wdRelativeHorizontalPositionColumn
oline.Left = wdShapeCenter
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 09.01.2009, 16:58   #10
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

вертикальную линию мы нарисуем с правильными координатами по оси х, как узнать координаты по оси у? таблица может находиться и в середине листа.
tolikman вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка SMS через клик по строке таблицы RUBEY Microsoft Office Excel 4 25.12.2008 12:07
Как нарисовать линию по пикселям DenLab Общие вопросы Delphi 4 03.12.2008 10:34
Как же нарисовать линию на форме? (Вопрос новичка) grey Помощь студентам 11 24.11.2008 11:31
хочу стереть линию с канвы.КАК? harmager Общие вопросы Delphi 1 24.11.2008 11:28


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS