|
Поиск в пределах таблицы ворд | ☑ | ||
---|---|---|---|---|
0
sem4cnt
31.01.13
✎
14:48
|
Добрый день!
Есть таблица ворд, считанная в переменную Таблица. Вопрос: как найти в пределах данных этой таблицы оперделенный текст не перебирая все ячейки таблицы? Перебрать могу, но это долго. Должен быть какой-то метод поиска в пределах таблицы. |
|||
1
Maxus43
31.01.13
✎
14:48
|
тип какой у Таблица ?
|
|||
2
sem4cnt
31.01.13
✎
14:50
|
(1) Фиг его знает какой тип. Там объект ОЛЕ возвращается, т.к. это таблица ворда.
Получается она вот так: Документ = MSWord.ActiveDocument(); // Переберем все таблицы Для Каждого Таблица из Документ.Tables Цикл |
|||
3
dk
31.01.13
✎
14:51
|
Что значит "найти"?
Проверить его наличие/отсутствие или определить адрес (колонку + строку)? |
|||
4
Maxus43
31.01.13
✎
14:51
|
я к тому что поиск без перебора возможен используя методы того объекта только
|
|||
5
sem4cnt
31.01.13
✎
14:52
|
(4) Я понимаю, но не знаю VBA настолько, чтобы сказать какой тип.
|
|||
6
sem4cnt
31.01.13
✎
14:53
|
(3) Найти это значит определить номер строки и колонки = где этот текст находится в этой таблице.
|
|||
7
sem4cnt
31.01.13
✎
15:12
|
Неужели это такая редкость?
|
|||
8
sem4cnt
31.01.13
✎
16:00
|
Господа, затрахался я с этой таблицей. Готов за вознаграждение уже принять помощь.
|
|||
9
dk
31.01.13
✎
16:08
|
дык тупо перебором - сам же так хотел
|
|||
10
dk
31.01.13
✎
16:17
|
|
|||
11
sem4cnt
31.01.13
✎
16:18
|
Да переьором сделал. Но:
1) Во первых медленно. Бывают большие таблицы, которые вообще не нужно обрабатывать, т.к. нет вхождений моего шаблона, а на перебор тратится время. 2) Во ыторых, такие таблицы пользователи присылают, что непонятно как их обходить. Тупо переход по ячейкам не работает, т.к. есть всякие объединенные области и этих объединений великое множество. |
|||
12
sem4cnt
31.01.13
✎
16:18
|
(10) Не все так просто. Такой перебор не работает для читай выше
|
|||
13
dk
31.01.13
✎
16:30
|
почему не работает-то?
или там таблица в таблице? |
|||
14
sem4cnt
31.01.13
✎
16:32
|
(13) т.к. есть всякие объединенные области и этих объединений великое множество.
|
|||
15
sem4cnt
31.01.13
✎
16:33
|
+ таблица в таблице бывает (((
|
|||
16
sem4cnt
31.01.13
✎
17:29
|
Господа, дошел до такого:
ОбластьТаблицы = Таблица.Range(); Поиск = ОбластьТаблицы.Find; Поиск.Text = "ТаблицаТоваров"; Поиск.Wrap = 1; Пока Поиск.Execute() Цикл ОК = 1; КонецЦикла; Но поиск происходит все равно по всему документу. Сдается мне я где-то рядом... |
|||
17
sem4cnt
31.01.13
✎
17:29
|
С параметром wrap нужно как-то доколдовать. Кто знает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |