|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
11.01.2009, 04:45 | #21 |
Форумчанин
Регистрация: 25.08.2008
Сообщений: 159
|
Вот то, до чего додумался я линии.rar.
Так как проблема стояла в искажении форматирования содержания ячейки, то я подумал, а почему бы не создать новую строку в таблице в самом низу, и указать размер шрифта для всех ячее =1, что зделает ее минимальной, а так как у нас и так линия выходит за края, то вроде вариант подходит. создаем строку, убираем ее границы и т.д. В результате создал класс WorkWithTable и модуль WWT_TEST. НО не все так хорошо, не могу понять (для этого надо посмотреть вложение) почему когда я передаю в функцию drawLine задание рисовать горизонтальную линию, та в свою очередь обращаетя к функции getAnchor(), которая кажется и компостит мозги, так как в результате все вертикальные линии рисуются вдоль первого столбца . Viter.Alex, если можно сохранять все шэйпы в массив, то потом можно все выделить и Selection.ShapeRange.Group.Select, который записал макрорекордером. Последний раз редактировалось tolikman; 11.01.2009 в 04:50. |
11.01.2009, 12:53 | #22 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Я думал о пустой строке внизу, но слева или справа тогда тоже нужно вставлять пустой столбец. Это только запутывает. Лучше группировать. Только я не допру как в массив записывать все линии.
А почему так сложно сделал подсчет ширины и высоты таблицы? Почему не так? Код:
Так ты же якорь ставишь к колонке, а нужно к тексту в ячейке Selection.Range, тогда и положение таблицы не нужно изменять. Посмотри, как я сделал в ThisDocument. Я не привязываюсь к положению таблицы, я якорь делаю именно к тексту. Кстати, я там снимаю выделение с ячейки через Selection.HomeKey, но для этого есть специальный метод Selection.Collapse. Удачи.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 11.01.2009 в 15:05. Причина: Дополнение |
11.01.2009, 14:37 | #23 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Записывай в массив (или лучше в коллекцию) имена фигур (линий) - они ведь не повторяются... Потом по именам и обращайся к определённым линиям. Не знаю как в Word-е, а в Excel-е в качестве параметра метода группировки фигур как раз передаётся массив имён фигур... |
|
11.01.2009, 15:09 | #24 | |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Цитата:
Код:
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 11.01.2009 в 15:11. |
|
12.01.2009, 11:33 | #25 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Нашел решение!
Нашлось решение для того, чтобы не изменять форматирование в ячейке. Как я и говорил, нужно группировать объекты. Сделал, как и tolikman в виде класса
Код:
tolikman, ты изменяешь положение таблицы в нулевое, чтобы в ней нарисовать линии. Зачем? Привязывайся к тексту в ячейке, тогда положение таблицы тебя уже не волнует.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 12.01.2009 в 11:48. |
12.01.2009, 11:38 | #26 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
А вот так это все можно использовать:
Линии во всех строках и столбцах всех таблиц Код:
Код:
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 12.01.2009 в 11:56. Причина: Дополнил |
12.01.2009, 21:28 | #27 |
Форумчанин
Регистрация: 25.08.2008
Сообщений: 159
|
viter.alex огромное спасибо за такое количество выделенного времени для решения моего вопроса и за само грамотное решение!!!
|
12.01.2009, 21:35 | #28 | |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Цитата:
Делал из спортивного интереса. Много нового узнал. Кстати, милости прошу в мой блог, по изменению ленточного интерфейса и блог по макросам.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 12.01.2009 в 21:40. |
|
12.01.2009, 21:50 | #29 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Ушёл в блог — там интереснее!
Уважаемый viter.alex, как скромно Вы намекнули на Ваш блог:-)
Почему-то в Сети обычно первым делом спешат пропиарить своё бесценное «дитё»! Но в Вашем случае это как раз вовремя и к месту.
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 12.01.2009 в 21:58. |
12.01.2009, 21:51 | #30 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
viter.alex:
— Обязательно комментировать код, особенно если вы его передаете другому человеку. Ух как этого не хватает на данном форуме!!!
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 12.01.2009 в 21:57. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отправка SMS через клик по строке таблицы | RUBEY | Microsoft Office Excel | 4 | 25.12.2008 11:07 |
Как нарисовать линию по пикселям | DenLab | Общие вопросы Delphi | 4 | 03.12.2008 09:34 |
Как же нарисовать линию на форме? (Вопрос новичка) | grey | Помощь студентам | 11 | 24.11.2008 10:31 |
хочу стереть линию с канвы.КАК? | harmager | Общие вопросы Delphi | 1 | 24.11.2008 10:28 |