Имя: Пароль:
1C
1С v8
Программно удалить строку из таблицы 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();

Всем спасибо :)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший