Помогите, пожалуйста, кто знает.

Проблема при работе с файлом xls из 1с через COM с использованием OpenOffice Calc.

Вот кусок кода.

Код 1c:
    Скрипт= Новый ComОбъект("MSScriptControl.ScriptControl");
    Скрипт.language="javascript";
    Массив=Скрипт.eval("Массив=new Array()");
 
    СервисМанагер=Скрипт.eval("СервисМанагер=new ActiveXObject('com.sun.star.ServiceManager')");
    Парам=Скрипт.eval("Парам=СервисМанагер.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    Парам.Name="Hidden";
    Скрипт.eval("Парам.Value=false;");
    Массив.push(Парам);

Ошибка возникает на последней строке. Метод объекта не обнаружен "push".

Можно конечно и по-другому.
Код 1c:
    Скрипт= Новый ComОбъект("MSScriptControl.ScriptControl");
    Скрипт.language="javascript";
    Массив=Скрипт.eval("Массив=new Array()");
    Скрипт.AddCode("function SetItem(ind,val){Массив[ind]=val}");
 
    СервисМанагер=Скрипт.eval("СервисМанагер=new ActiveXObject('com.sun.star.ServiceManager')");
    Парам=Скрипт.eval("Парам=СервисМанагер.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    Парам.Name="Hidden";
    Скрипт.eval("Парам.Value=false;");
    Скрипт.CodeObject.SetItem(0,Парам);

Но тоже самое. Метод объекта не обнаружен "SetItem".

Указанные методы работали под 7.7, а в 8.1 не работают.

Платформа 1С:Предприятие 8.1 (8.1.13.41)

OpenOffice 2.2.0

Заранее спасибо!



=========================================

Код 1c:
Приложение = Неопределено;
МетодЗагрузки = Неопределено;
Попытка
    Приложение         = Новый ComОбъект("Excel.Application");
    МетодЗагрузки = "Excel";
Исключение
КонецПопытки;
 
Если НЕ ЗначениеЗаполнено(МетодЗагрузки) Тогда
    Попытка
        Приложение = Новый ComОбъект("com.sun.star.ServiceManager");
        МетодЗагрузки = "ОО";
    Исключение
        Сообщить("Отсутствует приложение для загрузки файла");
    КонецПопытки;
КонецЕсли;
Если МетодЗагрузки = "ОО" Тогда
    scr             = Новый ComОбъект("MSScriptControl.ScriptControl");    
    scr.language    = "javascript";
    scr.eval("MassivParametrov = new Array()");
    MassivParametrov = scr.eval("MassivParametrov");
    scr.AddObject("OpenOffice", Приложение);
        scr.eval("MassivParametrov[0]=OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    scr.eval("MassivParametrov[0].Name='Hidden'");
    scr.eval("MassivParametrov[0].Value=true");
 
    Desktop = Приложение.CreateInstance("com.sun.star.frame.Desktop");
    Doc = Desktop.LoadComponentFromURL(ConvertToURL(ПутьКФайлу), "_blank", 0, MassivParametrov);
 
    Sheets = Doc.GetSheets();;
    Документ = Sheets.GetByIndex(0)
Иначе
    Приложение.WorkBooks.Open(ПутьКФайлу,,1);
    Документ     = Приложение.WorkSheets(1);
КонецЕсли;
 
функция ConvertToURL(FileName)
    ИмяФайла =  СтрЗаменить(FileName," ","%20" );
    ИмяФайла =  СтрЗаменить(ИмяФайла,"\","/");
    Возврат "file:/" + "/localhost/" + ИмяФайла;
Конецфункции
 
Функция ЗначениеЯчейки(Документ, НомерСтроки, НомерКолонки, МетодЗагрузки) Экспорт
    Если МетодЗагрузки = "ОО" Тогда
        ЗначЯчейки = СокрЛП(""+Документ.getCellByPosition(НомерКолонки-1, НомерСтроки-1).getString());
    Иначе
        ЗначЯчейки = СокрЛП(""+Документ.Cells(НомерСтроки, НомерКолонки).Value);
    КонецЕсли;
 
    Возврат СтрЗаменить(ЗначЯчейки, Символы.НПП, "");
КонецФункции

==========================

И еще не могу отформатировать ячейку в Excel и OpenOffice.
Нашел код для Excel:

Книга.Application.cells(НомерСтроки,НомерКолонки).NumberFormat = "0.00";

Но он не работает.

========================

С форматом разобрался. Надо писать: "0,00" вместо "0.00".