HelpF.pro

Поиск из 1С в Excel

Для 8.х в нижеследующем коде замените СоздатьОбъект( на Новый COMОбъект!

Код 1C v 7.x
 //Пример 1:
Процедура Сформировать()
Екскел=СоздатьОбъект("Excel.Application");
Книга=Екскел.WorkBooks.Open("C:\Ищем.xls");
Книга.Worksheets(1).Unprotect ("1qaz");
Для к=1 По Книга.Worksheets.Count Цикл
Диапазон = Книга.Worksheets(к).UsedRange;
Попытка
Найдено = Диапазон.Find("цу");
Истина=-1;
Исключение
Истина=0;
КонецПопытки;
Если Истина=-1 Тогда
АдресПреж = Найдено.Address;
Пока Истина=-1 Цикл
Сообщить(""+Книга.Worksheets(к).Name+"; "+Найдено.Address);
Попытка
Найдено = Диапазон.FindNext(Найдено);
Истина=-1;
Исключение
Истина=0;
КонецПопытки;
Истина=?((Истина=-1) И (Найдено.Address <> АдресПреж),-1,0);
КонецЦикла;
КонецЕсли;
КонецЦикла;
Сообщить(Книга.Worksheets(1).Cells(1, 1).Text);
КонецПроцедуры


//Пример 2:
Процедура НайтиСтроку(Application,СтрокаПоиска)
S_election=Application.S_election;
Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.Language="vbscript";
Скрипт.AddObject("S_election",S_election);
Скрипт.AddObject("ActiveCell",Application.ActiveCell);
//res=Скрипт.Eval("S_election.Find("+СтрокаПоиска+",ActiveCell,-4163,1).activate()");

res=Скрипт.Eval("S_election.Find("+СтрокаПоиска+",ActiveCell,-4163,1)");
Сообщить("результат "+res.Address);
КонецПроцедуры

Процедура Сформировать()
Путь="C:\test.xls";
Str="567";
Попытка
Application=СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки(),"!!!");
Сообщить("Возможно, MS Excel не установлен на этом компьютере.");
Возврат;
КонецПопытки;
НайтиСтроку(Application,Str);
КонецПроцедуры

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/777.html