|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2011, 09:54 | #1 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
For Each наоборот
Столкнулся с интересной проблемой. Надо удалить каждую вторую ячейку документа, путем последовательного перебора. Все довольно просто реализуется при переборе от начала к концу документа:
Код:
Проблема относится не только к ячейкам, а к любым элементам документа, которые надо перебирать, при этом по ходу внося изменения в документ.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
28.01.2011, 12:23 | #2 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Спрошу по-другому. Как запомнить позицию в документе, чтобы она сохранялась при внесении изменений??? Т.е. при вставке/удалении чего-либо перед/после/в месте позиции. Проблема чувствительна, когда позиция в таблице.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
28.01.2011, 13:36 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я АБСОЛЮТНЫЙ ноль в программировании под MS Word (более того, интуитивно чувствую, что там объектная модель такая, что сам Билл Гейтс в ней ноги себе сломает).
Но, на Вашем месте, я бы посмотрел в сторону закладок (bookmarks) - они как раз привязываются к определённому месту документа и вносимые изменения/добавления/удаления текста на них не влияют (точнее, они "передвигаются" вместе с текстом документа) |
28.01.2011, 14:39 | #4 |
Участник клуба
Регистрация: 12.08.2010
Сообщений: 1,079
|
может так (без проверки для 1 таблицы)
Код:
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание |
28.01.2011, 14:42 | #5 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Я прикидывал с закладками, но получается довольно сложно. Идея сделать закладку от края документа до контрольной позиции тоже стопорится при попадании внутрь таблицы Придется создавать минимум две закладки: одна - от края до начала строки таблицы, вторая - внутри строки таблицы. А т.к. при удалении области удаляются и закладки в этой области, то придется контролировать еще их целостность.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
28.01.2011, 14:55 | #6 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Да уж, без проверки. Нет, не то.
Главное реализовать перебор ячеек с конца документа. При этом по ходу перебора может быть удалена таблица, строка, столбец, ячейка. И не смотря на удаление, перебор оставшихся ячеек должен продолжиться.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
28.01.2011, 15:16 | #7 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,119
|
если For Each тут не поможет, которым я стараюсь не пользоваться может стоить указать конкретное число ячеек
А вообще я опробовал имею таблицу 5 столбцов, 2 строки, в каждую яейку записал её номер от 1 до 10, код сделал, удалились 2, 4, 6, 8, 10 Что не так? Проблемы не вижу |
28.01.2011, 16:11 | #8 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Удаление ячеек взято для примера. Главное - порядок перебора. После удаления ячейки мне надо знать, какая ячейка следующая/предыдущая. Как в For Each, только наоборот.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
28.01.2011, 16:49 | #9 |
Участник клуба
Регистрация: 12.08.2010
Сообщений: 1,079
|
удаление вколлекциях всегда с хвоста
Код:
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание |
28.01.2011, 18:19 | #10 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,119
|
стоить указать конкретное число ячеек
цикл а после удаления уменьшить на один длину цикла |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
бекап только наоборот | Cpluser | SQL, базы данных | 1 | 23.01.2011 12:30 |
Все наоборот! | ship85 | Microsoft Office Excel | 0 | 20.01.2011 14:19 |
Ввод слова наоборот | program123 | Общие вопросы Delphi | 4 | 09.05.2009 11:06 |
ВПР наоборот | Python | Microsoft Office Excel | 6 | 11.04.2009 00:08 |
Слово наоборот | Ketu | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 16.03.2008 00:23 |