Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка при СоздатьОбъект("Excel.Application")
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Vofka
Привет!

Сабж. Это может быть из-за того, что в системе не установлен Excel ?

Если да, тогда
В системе установлен опэн офис. Можно как-нибудь его заюзать (как-то типа СоздатьОбъект("OpenOffice.Application") или всё не так просто?)
Иначе
Что делать?
КонецЕсли;

smile.gif
World1С
СоздатьОбъект("OpenOffice.Application") или всё не так просто.
danie
Ошибка именно из-за отсутствия самого приложения Excel.
Работа с опеном посредством OLE возможна. Почитайте необходимо зарегистрироваться для просмотра ссылки, необходимо зарегистрироваться для просмотра ссылки.
необходимо зарегистрироваться для просмотра ссылки
World1С
Sub firstOOoProc()

Dim oSM                   'Root object for accessing OpenOffice from VB
Dim oDesk, oDoc As Object 'First objects from the API
Dim arg()                 'Ignore it for the moment !
    
'Instanciate OOo : this line is mandatory with VB for OOo API
  Set oSM = CreateObject("com.sun.star.ServiceManager")
'Create the first and most important service
  Set oDesk = oSM.createInstance("com.sun.star.frame.Desktop")
  
'Create a new doc
  Set oDoc = oDesk.loadComponentFromURL("private:factory/swriter", "_blank", 0, arg())
'Close the doc
  oDoc.Close (True)
  Set oDoc = Nothing
    
'Open an existing doc (pay attention to the syntax for first argument)
  Set oDoc = oDesk.loadComponentFromURL("file:///c:/dev/ooo/test.doc", "_blank", 0, arg())
'Save the doc
  Call oDoc.storeToURL("file:///c:/dev/ooo/test2.sxw", arg())
'Close the doc
  oDoc.Close (True)
  Set oDoc = Nothing
    
End Sub


Вот так это выглядит для VBA
World1С
процедура Сформировать();
перем tOO,яч;
    tOO=СоздатьОлеОбъект("TOpenOffice.Bridge");
    tOO.Open("c:\sample.xls");
    tOO.Cells(1,1).text="Это текст из 1С!";
    яч=tOO.Cells(1,2);
    сообщить("В ячейке B3 содержится текст:"+яч.text);
    tOO=0;
конецПроцедуры // Сформировать();
Для 8.1

Посмотреть можно здесь
Vofka
Спасибо за инфу!

Раз все не так просто, то вопрос пока отпадает. У клиента был вопрос "нельзя ли что-то исправить что-бы работало?". А разрабатывать специально под опен офис клиент не хочет (денег жалко чтоли или думает, что его "кидют"). Поэтому инфу по возможности почитаю (в целях самообразования) smile.gif .
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.