|
FindText в табличном документе через OLE | ☑ | ||
---|---|---|---|---|
0
kubik_live
13.11.16
✎
15:55
|
Всем доброго дня. Помогите: не получается найти текст в OLE-табличном документе.
Значение Стр="Польша". В табличном документе в области поиска (ОбластьНаименованиеКраткое) значение есть: "ПОЛЬША". ТекущаяОбласть=ТабличныйДокумент.FindText(ВРег(Стр),,ОбластьНаименованиеКраткое,Ложь,Истина,Истина,Истина); всегда возвращает: Неопределено. Что я не так делаю? Полный текст кода: Функция НайтиСоздатьСтрануПроисхождения(Стр) УдСпрКлассификаторСтранМира = Уд.Справочники.КлассификаторСтранМира; УдСтранаПроисхождения=Неопределено; УдСтранаПроисхождения=УдСпрКлассификаторСтранМира.НайтиПоНаименованию(ВРег(Стр),Истина); Если СокрЛП(УдСтранаПроисхождения.Наименование)<>"" Тогда //нашли Страну происхождения //Сообщить("Нашли Страну происхождения: "+Стр); Иначе //надо создать Страну происхождения ТабличныйДокумент=УдСпрКлассификаторСтранМира.ПолучитьМакет("КлассификаторСтранМира"); ОбластьКодЧисловой = ТабличныйДокумент.Areas.КодЧисловой; ОбластьНаименованиеКраткое = ТабличныйДокумент.Areas.НаименованиеКраткое; ОбластьНаименованиеПолное = ТабличныйДокумент.Areas.НаименованиеПолное; ОбластьКодАльфа2 = ТабличныйДокумент.Areas.КодАльфа2; ТекущаяОбласть=ТабличныйДокумент.FindText(ВРег(Стр),,ОбластьНаименованиеКраткое,Ложь,Истина,Истина,Истина); Если НЕ ТекущаяОбласть=Неопределено Тогда КодЧисловой = ТабличныйДокумент.Area(ТекущаяОбласть.Верх, ОбластьКодЧисловой. Лево, ТекущаяОбласть.Низ, ОбластьКодЧисловой. Право).Текст; НаименованиеКраткое = СокрЛП(ТабличныйДокумент.Area(ТекущаяОбласть.Верх, ОбластьНаименованиеКраткое.Лево, ТекущаяОбласть.Низ, ОбластьНаименованиеКраткое.Право).Текст); НаименованиеПолное = СокрЛП(ТабличныйДокумент.Area(ТекущаяОбласть.Верх, ОбластьНаименованиеПолное. Лево, ТекущаяОбласть.Низ, ОбластьНаименованиеПолное. Право).Текст); КодАльфа2 = ТабличныйДокумент.Area(ТекущаяОбласть.Верх, ОбластьКодАльфа2. Лево, ТекущаяОбласть.Низ, ОбластьКодАльфа2. Право).Текст; УдСтранаПроисхождения=УдСпрКлассификаторСтранМира.СоздатьЭлемент(); УдСтранаПроисхождения.Код=КодЧисловой; УдСтранаПроисхождения.Наименование=НаименованиеКраткое; УдСтранаПроисхождения.НаименованиеПолное=НаименованиеПолное; УдСтранаПроисхождения.КодАльфа2=КодАльфа2; Попытка УдСтранаПроисхождения.Записать(); УдСтранаПроисхождения=УдСпрКлассификаторСтранМира.НайтиПоНаименованию(ВРег(Стр),Истина); Сообщить("СОЗДАНА СТРАНА ПРОИСХОЖДЕНИЯ: "+Стр); Исключение Сообщить("НЕУДАЧА СОЗДАНИЯ СТРАНЫ ПРОИСХОЖДЕНИЯ: "+Стр+"!",СтатусСообщения.Важное); КонецПопытки; КонецЕсли; КонецЕсли; Возврат УдСтранаПроисхождения; КонецФункции |
|||
1
Рэйв
13.11.16
✎
16:03
|
значит хреново передаешь адрес
А FindText - это чего? Есть же русский аналог. |
|||
2
Рэйв
13.11.16
✎
16:04
|
или очередной упертый дельфист, осчастлиыивший нас свом присутствием?:-))
|
|||
3
kubik_live
13.11.16
✎
16:05
|
(1) Пробовал сначала: НайтиТекст - теже коки.
|
|||
4
kubik_live
13.11.16
✎
16:06
|
(2) К дельфи не имею отношения :))
|
|||
5
Рэйв
13.11.16
✎
16:06
|
(3)значит плохо параметры задаешь
|
|||
6
kubik_live
13.11.16
✎
16:09
|
(5) Ткни, где неправильно в коде, пожалуйста.
|
|||
7
Рэйв
13.11.16
✎
16:14
|
(6)Тут без отладчика - никак
|
|||
8
kubik_live
13.11.16
✎
16:18
|
УРА!!! Заработало!
Фишка была в 5 параметре (Ячейка целиком): Было: ТекущаяОбласть=ТабличныйДокумент.FindText(ВРег(Стр),,ОбластьНаименованиеКраткое,Ложь,ИСТИНА,Истина,Истина); А НАДО ТАК: ТекущаяОбласть=ТабличныйДокумент.FindText(ВРег(Стр),,ОбластьНаименованиеКраткое,Ложь,ЛОЖЬ,Истина,Истина); (7) Спасибо, что ткнул в проверку параметров |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |