Имя: Пароль:
1C
 
Создание объекта Excel.Application в OpenOffice
0 Дмитрий_stv
 
15.04.08
09:59
У меня на раб машине стоит OpenOffice.org, когда я создаю объект Excel.Application 1С-ка выкидывает ошибку что не установлен Microsoft Office и создать объект невозможно, как заставить 1С вместо Excel-я работать с OpenOffice Calc?
1 smaharbA
 
15.04.08
10:05
а че надо то ?

//*******************************************
Процедура Сформировать()
   Сп=СоздатьОбъект("СписокЗначений");
   Сп.ДобавитьЗначение("Вася");
   Сп.ДобавитьЗначение("Петя");
   Сп.ДобавитьЗначение("Ваня");
   Сп.ДобавитьЗначение("Саша");
   Сп.ДобавитьЗначение("Света");
   Сп.ДобавитьЗначение("Катя");
   Сп.ДобавитьЗначение("Ибрагим");
   Сп.ДобавитьЗначение("Федя");
   Сп.ДобавитьЗначение("Люся");
   Сп.ДобавитьЗначение("Даздраперма");
   Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
   Скрипт.language="javascript";
   Математика=Скрипт.eval("Math");
   Массив=Скрипт.eval("new Array()");
   СервисМанагер=Скрипт.eval("СервисМанагер=new ActiveXObject('com.sun.star.ServiceManager')");
   Парам=Скрипт.eval("Парам=СервисМанагер.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
   Парам.Name="Hidden";
   Скрипт.eval("Парам.Value=false;");
   Массив.push(Парам);
   Десктоп = СервисМанагер.createInstance("com.sun.star.frame.Desktop");
   Док = Десктоп.LoadComponentFromURL("private:factory/scalc", "_blank", 0, Массив );
   Док.lockControllers();
     Док.addActionLock();
   Форматы = Док.getNumberFormats();
   Листы=Док.getSheets();
   Лист=Листы.getByIndex(0);
   Локал=Скрипт.eval("СервисМанагер.Bridge_GetStruct('com.sun.star.lang.Locale')");
   ФорматДата = Форматы.getStandardFormat( 2, Локал);
   Для к=0 По 9 Цикл
       Лист.getCellByPosition(0,к).string=Сп.ПолучитьЗначение(к+1);
       Лист.getCellByPosition(1,к).value=Математика.random(0)*1000;
       Лист.getCellByPosition(2,к).value=Дата(2006,3,к+1);
   КонецЦикла;
   Для к=0 По 9 Цикл
       Сообщить(Лист.getCellByPosition(0,к).text);;
       Сообщить(Лист.getCellByPosition(1,к).value);
       Сообщить(Лист.getCellByPosition(2,к).getText());
   КонецЦикла;
   Диапазон = Лист.getCellRangeByName("C1:C10");
   Диапазон.NumberFormat = ФорматДата;
Сообщить(Лист.PageStyle);
   СтилиСтраницы=Док.StyleFamilies.getByName("PageStyles");
   ПараметрыСтраницы=СтилиСтраницы.getByName(Лист.PageStyle);
   ПараметрыСтраницы.IsLandscape=-1;
   ПараметрыСтраницы.Width=29700;
   ПараметрыСтраницы.Height=21000;
   ПараметрыСтраницы=СтилиСтраницы.getByName(Лист.PageStyle);
   ПараметрыСтраницы.IsLandscape=-1;
   ПараметрыСтраницы.Width=29700;
   ПараметрыСтраницы.Height=21000;
   Парам.Name="FilterName";
   Парам.Value="MS Excel 97";
   Массив.push(Парам);
   Файл="\\app\document$\Отдел ИТ\ginzburg\Мои документы\Имя Файла с пробелами .xls";
   Сообщить(Скрипт.Eval("encodeURIComponent('"+СтрЗаменить(Файл,"\","/")+"')"));
   Док.storeToURL("file:///"+Скрипт.Eval("encodeURI('"+СтрЗаменить(Файл,"\","/")+"')"),Массив);
   Док.unLockControllers();
     Док.removeActionLock();
КонецПроцедуры
2 Дмитрий_stv
 
15.04.08
10:45
я хочу создать объект типа "Exel.Application" но у меня нет Майкрософтского офиса в частности экселя, а стоит OpenOffice.org Без офиса от майкрософта данная команда выдает ошибку, мне нужно поместить весь справочник контрагентов на лист OpenOffice Calc. Для дальнейшей работы с этими данными.
3 dk
 
15.04.08
10:48
(2) Блондин?
Это разные программы и объеты и методы там различаются
4 Дмитрий_stv
 
15.04.08
10:59
Так что же я должен создать(какой объект) чтобы иметь возможность поработать в своем любимом OpenOffice Calc )), это возможно?
5 RomaJ
 
15.04.08
11:08
(3) Пример работы с OpenOffice в студию, если можно.
6 Ломастер
 
15.04.08
11:14
7 Дмитрий_stv
 
15.04.08
11:18
А можно рабочий пример на 1С чтобы проще можно было разобраться.
8 dk
 
15.04.08
11:19
9 dk
 
15.04.08
11:19
(7) см. (1) :)
10 Дмитрий_stv
 
15.04.08
11:25
Спасибо! Буду разбираться
11 zaki
 
15.04.08
15:27
(0) Ну вот еще есть такое:
UniOffice@Etersoft - альтернативная реализация протоколов MS Office

Компания Этерсофт объявляет о выпуске альфа-версии нового программного продукта UniOffice@Etersoft, позволяющего использовать OpenOffice.org вместо MS Office при взаимодействии с внешними приложениями. На практике это означает, что такие приложения, как 1С, Налогоплательщик ЮЛ и другие смогут выгружать свои документы, формировать отчеты не только в MS Office, но и в OpenOffice.org.

Таким образом, OpenOffice.org сможет служить заменой MS Office не только при "самостоятельной работе", но и при взаимодействии с другими приложениями.

UniOffice@Etersoft выполняет трансляцию COM-запросов к MS Office в вызовы OpenOffice.org, что позволяет программам, предназначенным для работы только с MS Office, работать со свободным OpenOffice.org.

UniOffice@Etersoft может работать как в MS Windows, так и в GNU/Linux под WINE@Etersoft.

UniOffice@Etersoft поставляется с инсталлятором и не требует установки дополнительных библиотек. В дальнейшем планируется добавить UniOffice@Etersoft в состав WINE@Etersoft, что позволит использовать OpenOffice.org, установленный в хост-системе, программам, запущенным в Wine.

UniOffice@Etersoft проверен на совместимость с такими приложениями, как 1С:Предприятие 7.7 и Налогоплательщик ЮЛ.

http://www.etersoft.ru/news/164
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший