Вопрос по интеграции с OpenOffice
Man783
22.07.2009 - 10:57
|
Исходная задача: нужно из файла xls загрузить данные в ТЗ 1С Решаем так: //Создаем объект для работы с OpenOffice Попытка ОбъектОО = Новый COMОбъект("com.sun.star.ServiceManager"); Исключение Предупреждение("Невозможно загрузить OpenOffice.org !!!" + Символы.ПС + ОписаниеОшибки(), 10, "Ошибка"); Возврат; КонецПопытки; ОбъектДесктоп = ОбъектОО.CreateInstance("com.sun.star.frame.Desktop"); МассивТипа = Новый COMSafeArray("VT_VARIANT", 1); CoreReflection = ОбъектОО.CreateInstance("com.sun.star.reflection.CoreReflection"); CoreReflection.forName("com.sun.star.beans.PropertyValue").createObject(PropertyValue); PropertyValue.Name = "Hidden"; PropertyValue.Value = true; МассивТипа.SetValue(0, PropertyValue); ФлагТолькоЗаписать=Ложь; ИмяФайлаДляЗагрузки = СтрЗаменить(ПутьКФайлу, "\", "/"); ИмяФайлаДляЗагрузки = "file:///" + ИмяФайлаДляЗагрузки; Попытка Объект = ОбъектДесктоп.LoadComponentFromURL(ИмяФайлаДляЗагрузки, "_blank", 0, МассивТипа); Исключение Предупреждение("Невозможно открыть файл " + ИмяФайлаДляЗагрузки + " !!!" + Символы.ПС + ОписаниеОшибки(), , "Ошибка"); Возврат; КонецПопытки; Листы = Объект.getSheets(); Попытка Лист = Листы.getByIndex(0); Исключение Возврат; КонецПопытки; //цикл загрузки данных ОбъектДесктоп = NULL; ОбъектОО = NULL; Процедура работает корректно, но после ее использования загружаемый файл доступен только для чтения... Как этого избежать? |