Shrek_kz
10.11.2009, 05:38
Помогите гуру, с майкрософтом разобрался но вот задача у клиента нет экселя, а тока опенофис,
вобщем есть такая задача нужно передать таблицузнаений в calc и затем несколько колонок поставить формулы для того чтобы пользователь вводя данные в колонки получал тутже результат.
вот код набросал:
//*******************************************
Процедура Сформировать()
FilePath = "file:///D:\Шаблон.ods";
scr = СоздатьОбъект("MSScriptControl.ScriptControl");
scr.language = "javascript";
scr.eval("Массив=new Array()");
Массив = scr.eval("Массив");
scr.AddCode("function SetItem(ind,val){Массив=val}");
ServiceManager=СоздатьОбъект("com.sun.star.ServiceManager");
scr.AddObject("ServiceManager",ServiceManager);
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop");
// Document = Desktop.LoadComponentFromURL("private:factory/scalc", "_blank", 0, Массив);
Document = Desktop.LoadComponentFromURL(FilePath, "_blank", 0, Массив);
Листы = Document.getSheets();
Лист = Листы.getByIndex(0);
Для к = 0 По 10 Цикл
Лист.getCellByPosition(0,к).value = к;
КонецЦикла;
SaveParam = scr.Eval("ServiceManager.Bridge_GetStruct('com.sun.star.bean s.PropertyValue')");
SaveParam.Name = "FilterName";
SaveParam.Value = "MS Excel 97";
scr.CodeObject.SetItem(0,SaveParam);
// Document.storeToURL("file:///d:/Test.ods",Массив);
КонецПроцедуры
открывается файл шаблон и туда должна записаться вся таблицазначений из 1С, я пытаюсь записать хотябы числа от 0 до 10, не выходит, причем если сделать как везде во всех примерах на новый лист то получается.
Мне нужно именно в файл уже готовый передавать значения!!!
[I]Добавлено через 12 часов 31 минуту 17 секунд
Видимо не туда написал...
вобщем есть такая задача нужно передать таблицузнаений в calc и затем несколько колонок поставить формулы для того чтобы пользователь вводя данные в колонки получал тутже результат.
вот код набросал:
//*******************************************
Процедура Сформировать()
FilePath = "file:///D:\Шаблон.ods";
scr = СоздатьОбъект("MSScriptControl.ScriptControl");
scr.language = "javascript";
scr.eval("Массив=new Array()");
Массив = scr.eval("Массив");
scr.AddCode("function SetItem(ind,val){Массив=val}");
ServiceManager=СоздатьОбъект("com.sun.star.ServiceManager");
scr.AddObject("ServiceManager",ServiceManager);
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop");
// Document = Desktop.LoadComponentFromURL("private:factory/scalc", "_blank", 0, Массив);
Document = Desktop.LoadComponentFromURL(FilePath, "_blank", 0, Массив);
Листы = Document.getSheets();
Лист = Листы.getByIndex(0);
Для к = 0 По 10 Цикл
Лист.getCellByPosition(0,к).value = к;
КонецЦикла;
SaveParam = scr.Eval("ServiceManager.Bridge_GetStruct('com.sun.star.bean s.PropertyValue')");
SaveParam.Name = "FilterName";
SaveParam.Value = "MS Excel 97";
scr.CodeObject.SetItem(0,SaveParam);
// Document.storeToURL("file:///d:/Test.ods",Массив);
КонецПроцедуры
открывается файл шаблон и туда должна записаться вся таблицазначений из 1С, я пытаюсь записать хотябы числа от 0 до 10, не выходит, причем если сделать как везде во всех примерах на новый лист то получается.
Мне нужно именно в файл уже готовый передавать значения!!!
[I]Добавлено через 12 часов 31 минуту 17 секунд
Видимо не туда написал...