Имя: Пароль:
1C
1С v8
Сохранение значений в ячейках таблицы OpenOffice.
0 ProgaN
 
02.09.12
16:42
Есть файл old, в определенные ячейки которого нужно вписать опред. значения. Код следующий:
Попытка
       Приложение = Новый 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);
   //Doc.Visible = 0;
   Sheets = Doc.GetSheets();
   
   Лист = Sheets.GetByIndex(1);
   СписокНоменклатуры = Новый СписокЗначений;
   Для чС = 3 По 100 Цикл
          Лист.getCellByPosition(16, чС-1).getText().setString("Значение");
       КонецЦикла;
   Приложение = Неопределено;
   Doc.close(Истина);
   //Закрытие офиса.
   Desktop.terminate();
В результате получаю тот же файл, без всяких изменений. Что в код неверно?
1 hhhh
 
02.09.12
17:01
а где сама запись в файл?
2 ProgaN
 
02.09.12
17:15
уже разобралась
   //Сохранение документа
   Doc.unlockControllers();
   Doc.removeActionLock();
   Doc.store();
   Doc.Close(Истина);
3 smaharbA
 
02.09.12
18:38
достали с кодом сабжа - когда вы начнете ?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс