![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 14.10.2009
Сообщений: 7
|
![]()
Форматирую таблицы документа с помощью макроса. Проблема в том, что есть таблицы, содержащие объединенные ячейки, и тогда свойство HeadingFormat (повторять как заголовок таблицы) для строки установить в True не получается: валится ошибка. Свойств, которые возвращали бы информацию о том, что таблица/строка/ячейка содержат merged cells не нашла. Может кто-нибудь решал такую задачу.
Кусочек моего кода: With ActiveDocument.Tables(I) .Rows(1).HeadingFormat = True .... With Заранее спасибо. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
вообще, чтобы определить есть объединённые ячейки нужно перебрать все ячейки, которые входят в диапазон
(например для выделенного диапазона начало кода: Код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.09.2009
Сообщений: 69
|
![]()
Ты применяешь свой макрос ко одной таблице или ко всем таблицам в документе?
Если ко одной - то создай отдельный макрос для форматирования шапки таблицы. Если ко многим, то другой разговор. |
![]() |
![]() |
![]() |
#4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Было-было. Можно было определить, что ячейки объединены то ли по строкам, то ли по столбцам. Я даже пример выкладывал.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 19.09.2009
Сообщений: 69
|
![]() Последний раз редактировалось БуреВестник; 14.10.2009 в 17:00. |
![]() |
![]() |
![]() |
#6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Нет-нет, это давно было. Вот это сообщение
В коде в переменную iRSpan записывается количество строк, которые объединены в данной ячейке. Со столбцами такая конструкция не проходит. Всегда возвращает 1. Это не должно так быть, но так есть. Кстати, работать будет только для объекта Selection: это один из немногих случаев когда Selection нельзя заменить на Range. Т.е. ячейку, которую нужно проверить на объединение, нужно выбрать. А можно вообще ловить ошибку через On Error Resume Next, как предложил Serge_Bliznykov, только не сигнализировать, а спокойно делать свое дело дальше
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 19.09.2009
Сообщений: 69
|
![]()
Serge_Bliznykov
здесь про Word речь. Код:
Компилятор сначала прочитает Код:
Код:
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 14.10.2009
Сообщений: 7
|
![]()
Макрос применяю ко всем таблицам в документе.
Примерно поняла, попробую модернизировать под свою задачу. Мне надо выделить cтолько строк, сколько объядиняет ячейка (1,1). |
![]() |
![]() |
![]() |
#9 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Несколько замечаний:
Если вы работаете со всеми таблицами в документе, то перебирайте их не счетчиком, а как элементы коллекции; Чтобы ловить ошибку, воспользуйтесь On Error Resume Next Код:
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
![]() Код:
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить, что в выделенной области есть глаза | Бзик | Помощь студентам | 2 | 09.04.2009 21:46 |
как определить какие файлы есть в папке и вывести их имена в текстовый файл | Tdoctor | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 04.11.2008 05:18 |
Объединенные поля. Как разъединить? | ***DSL*** | Помощь студентам | 0 | 02.06.2008 16:39 |
Как определить номер строки верхней левой ячейки диапазона | Porog | Microsoft Office Excel | 8 | 09.05.2008 08:37 |
как определить координаты ячейки с найденным текстом | Тимониссимо | Безопасность, Шифрование | 2 | 30.05.2007 15:23 |