Имя: Пароль:
1C
 
Поиск строк в табличном документе
0 Лохматые Уши
 
06.01.10
17:29
Всем привет!
Мне необходимо в табличном документе в цикле найти все ячейки с определенным текстом.
Область = ТабДок.НайтиТекст("Текст")
Находится только одна, первая ячейка в табдоке.
Для каждого Область Из ТабДок.Области Цикл
Область = ТабДок.НайтиТекст("Текст");
Область.Шрифт = ...
КонецЦикла;
Находит тоже только одну ячейку.
Как отметить шрифтом все ячейки с нужным текстом?
1 IronDemon
 
06.01.10
17:33
Пока Область <> Неопределено Цикл
2 NcSteel
 
06.01.10
17:34
ТабличныйДокумент.НайтиТекст (SpreadsheetDocument.FindText)
ТабличныйДокумент (SpreadsheetDocument)
НайтиТекст (FindText)
Синтаксис:
НайтиТекст(<Строка>, <Начало>, <Где>, <Искать по строкам>, <Ячейка целиком>, <Искать вперед>, <Игнорировать регистр>)
Параметры:
<Строка> (обязательный)
Тип: Строка. Искомый текст.
<Начало> (необязательный)
Тип: ОбластьЯчеекТабличногоДокумента. Область, после которой начинать поиск. Если параметр не указан, поиск будет выполнен с начала табличного документа.
<Где> (необязательный)
Тип: ОбластьЯчеекТабличногоДокумента. Область, в которой осуществляется поиск. Если параметр не указан, поиск будет выполнен по всем ячейкам табличного документа.
<Искать по строкам> (необязательный)
Тип: Булево. Определяет последовательность обхода ячеек при поиске.
Истина - искать по текущей строке, затем переходить на следующую и т.д. в общем направлении поиска, Ложь - искать по текущей колонке, затем переходить на следующую и т.д. в общем направлении поиска.
Значение по умолчанию: Истина
<Ячейка целиком> (необязательный)
Тип: Булево. Истина - искать только такие ячейки, в которых с искомым текстом совпадает весь текст ячейки, Ложь - искать часть текста ячейки.
Значение по умолчанию: Ложь
<Искать вперед> (необязательный)
Тип: Булево. Определяет направление поиска: Истина - искать вперед; Ложь - искать назад.
Значение по умолчанию: Истина
<Игнорировать регистр> (необязательный)
Тип: Булево. Истина - без учета регистра, Ложь - поиск с учетом регистра.
Значение по умолчанию: Ложь
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента, РисунокТабличногоДокумента. Область, содержащая искомый текст. Если текст не найден, то возвращается значение Неопределено.
Описание:
Осуществляет поиск текста в ячейках табличного документа.
Пример:
// чтобы посмотреть работу данного метода, добавьте
// следующие строки в конец примера метода НачатьГруппуСтрок()
Отдел = "Итого2";
Область=ТабДок.НайтиТекст(Отдел);
Если ТипЗнч(Область)=Тип("Неопределено") Тогда
   Сообщить("Значение не найдено!");
Иначе
   Поз = Найти(Область.Имя,"C");
   Имя= Лев(Область.Имя,Поз)+
       Строка(Число(Прав(Область.Имя,СтрДлина(Область.Имя)-Поз))+1);
   Сообщить("Итог по отделу 2 = "+ТабДок.Область(Имя).Текст);
КонецЕсли;
3 Лохматые Уши
 
06.01.10
17:37
Спасибо друзья!
5 Лохматые Уши
 
06.01.10
19:18
Область = ТабДок.НайтиТекст("Текст");
Пока Область <> Неопределено Цикл
Область.Шрифт = ЖирныйШрифт
КонецЦикла;    

Вечный цикл. Так я и не решил проблему. Кто чем подскажет?
6 NcSteel
 
06.01.10
19:21
(5) Тебя не смущает что у НайтиТекст есть еще параметры кроме первого?
7 Лохматые Уши
 
06.01.10
19:22
Нет, мне надо искать текст во всем табдоке без ограничений.
8 NcSteel
 
06.01.10
19:23
(7) Ну так ищи . Так как ты не заполняешь параметры то ищется с начала.
9 Лохматые Уши
 
06.01.10
19:26
А, дошло, надо смещать области, спасибо, попробую!