0
ВежливаяТварь
27.07.12
✎
18:19
|
Добрый день. Столкнулся со следующей проблемой. открываю екселевский файл вот так:ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop");
Свойства = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Свойства.Name = "AsTemplate";
Свойства.Value = Истина;
Args = Новый COMSafeArray("VT_VARIANT", 3);
Args.SetValue(0, Свойства);
Свойства1 = ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue");
Свойства1.Name = "Hidden";
Свойства1.Value = Истина;
Args.SetValue(1, Свойства1);
Попытка
//если файл уже существует
Document = Desktop.LoadComponentFromURL(ConvertToURL(ПутьКФайлуАналитикиОстатков), "_blank", 0, Args);
Sheets = Document.getSheets();
Sheet = Sheets.getByIndex(0);
Исключение
//если его не фига там нету
Document = Desktop.LoadComponentFromURL("private:factory/scalc", "_blank", 0, Args);
Sheets = Document.getSheets();
Sheet = Sheets.getByIndex(0);
Sheet.getCellByPosition(0, 0).SetString("Дата");
Sheet.getCellByPosition(1, 0).SetString("Склад");
Sheet.getCellByPosition(2, 0).SetString("Товар (Код)");
Sheet.getCellByPosition(3, 0).SetString("Недостающее количество");
КонецПопытки;
проблема в том что при открытии появляется окно LibreOffice. Как сделать так что бы оно не появлялось? И если это не возможно то как сделать что бы оно хоть само закрывалось?
И ещё один вопрос: есть ли аналог в ОО вот этой екселевской функции:ПоследнняСтрока = Приложение.Cells.CurrentRegion.Rows.Count ?
И если есть не могли бы вы его написать?
|
|