|
Программно удалить строку из таблицы word с объединенными ячейками |
☑ |
0
galuna
20.11.17
✎
11:17
|
Как из 1С программно удалить строку из таблицы word с объединенными ячейками?
Сформирован файл, в нем есть таблица. 1-я и 2-я строчки обычные, дальше с 3-ей строки идут строки с объединенными по вертикали ячейками. При попытке удалить ВТОРУЮ строку (без объединенных ячеек) выпадает такая ошибка:
{Форма.Форма.Форма(305)}: Ошибка при вызове метода контекста (Rows)
Таблица.Rows(2).Delete();
по причине:
Произошла исключительная ситуация (Microsoft Word): Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали.
При том, что если все аналогично формировать, но создавать строки БЕЗ объединенных ячеек, то этот метод без проблем отрабатывает ровно в том же виде.
|
|
1
Cyberhawk
20.11.17
✎
11:22
|
А что в тексте ошибки не ясного?
|
|
2
galuna
20.11.17
✎
11:30
|
Всё ясно, не ясно, как удалить строку.
|
|
3
Cyberhawk
20.11.17
✎
11:31
|
(2) Попробуй удалять ячейки
|
|
4
Рэйв
20.11.17
✎
11:32
|
(0)у таблички есть свойство Range. Может через него надо указать объединенную область?
|
|
5
galuna
20.11.17
✎
11:36
|
(4) Мне не нужно объединенную область удалять, вопрос в удалении простой строки.
|
|
6
galuna
20.11.17
✎
11:37
|
(2) Шансов удалить всю строку сразу нет?
|
|
7
Рэйв
20.11.17
✎
11:41
|
(5) А ты внимательно прочитай, что тебе умный робот пишет:-)
"Отсутствует доступ к отдельным строкам, поскольку таблица имеет ячейки, объединенные по вертикали. "
Не дает оно доступ к отдельным строкам, вот такая бука:-)
Бери диапазон второй строки через Range и удаляй
|
|
8
Масянька
20.11.17
✎
11:46
|
(0) А в Word'е выдели эту строчку (с объединенными ячейками) и посмотри...
|
|
9
galuna
20.11.17
✎
11:48
|
(8) Выделяла, смотрела, все с ней хорошо, ничего объединенного нет...
|
|
10
Рэйв
20.11.17
✎
11:51
|
(9)Он же не написал,что отсутствует доступ к строкам с объединенными ячейками. Он написал что доступа к строкам нет СОВСЕМ
|
|
11
galuna
20.11.17
✎
11:53
|
(10) Поняла. Пробую через Range
|
|
12
galuna
20.11.17
✎
12:42
|
(7) Что-то делаю не так. Ячейки очищаются, но сама строка не удаляется.
Для СчетчикЦикла = 1 по 8 Цикл
Ячейка = Таблица.Cell(2, СчетчикЦикла).Range;
Ячейка.Delete();
КонецЦикла;
|
|
13
Рэйв
20.11.17
✎
12:45
|
(12)Range как минимум указать надо какой:-) А вообще лучше сначала записать автоматический макрос удаления того, что ты хочешь и посмотреть что там пишут
|
|
14
Рэйв
20.11.17
✎
12:45
|
аа..у тебя вроде указывается..
|
|
15
Рэйв
20.11.17
✎
12:45
|
Я точно не помню, так что дух открытий чудных ждет тебя:-)
|
|
16
galuna
20.11.17
✎
13:14
|
(0) Решение найдено!
ДокументВорд.Range(Таблица.Cell(2, 1).Range.Start, Таблица.Cell(2, 8).Range.End).Cells.Delete();
Всем спасибо :)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший