|   |   | 
| 
 | Проблемы с ПолучитьCOMОбъект | ☑ | ||
|---|---|---|---|---|
| 0
    
        Солнце 01.08.13✎ 09:44 | 
        Пишу так
 Книга = ПолучитьCOMОбъект(Файл,"Excel.Application"); Ошибка: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: No such interface supported А если так Книга = ПолучитьCOMОбъект(Файл); Ошибка: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Moniker cannot open file Код что первый что втрой в файловой базе выполняется на ура... А в серверной не хочет... На сервере установлен Excel. Код выполняется на сервере.... Помогите справиться с проблемкой... | |||
| 1
    
        Лефмихалыч модератор 01.08.13✎ 09:46 | 
        (0) на сервере нет нужных COM-объектов. Установить MSOffice на сервер.     | |||
| 2
    
        Солнце 01.08.13✎ 09:50 | 
        MSOffice Установлен...     | |||
| 3
    
        Солнце 01.08.13✎ 09:54 | 
        Эксель = Новый COMОбъект("Excel.Application");
 Книга = Эксель.WorkBooks.Open(Файл); К Excel подключается а к открытию файла говорит: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу Это может быть вызвано одной из следующих причин. • Указан несуществующий файл или путь. • Файл используется другой программой. • Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент. Хотя доступ есть к нему... Файл нигде не используется и он закрыт! | |||
| 4
    
        Солнце 01.08.13✎ 10:03 | 
        Никто не может помочь?...((     | |||
| 5
    
        Лефмихалыч модератор 01.08.13✎ 10:05 | 
        (2) он установлен на клиенте, а не на сервере. Установите офис на сервер     | |||
| 7
    
        Лефмихалыч модератор 01.08.13✎ 10:06 | 
        а, ну или файла нет на сервере.
 В переменной "Файл" поди путь относительно твоей клиентской машины? | |||
| 9
    
        Солнце 01.08.13✎ 10:07 | 
        (7) сетевой путь такие же ошибки делает     | |||
| 10
    
        lEvGl гуру 01.08.13✎ 10:07 | 
        а что значит "выполняется на сервере" - регламентное задание?     | |||
| 11
    
        Солнце 01.08.13✎ 10:08 | 
        Нет процедура выполняется &НаСервере     | |||
| 12
    
        Лефмихалыч модератор 01.08.13✎ 10:09 | 
        (9) а у пользователя, под которым сервер 1С предприяти запущен, права-то на шару есть?     | |||
| 13
    
        Солнце 01.08.13✎ 10:09 | 
        (12) Конечно     | |||
| 14
    
        Serginio1 01.08.13✎ 10:09 | ||||
| 15
    
        Лефмихалыч модератор 01.08.13✎ 10:10 | 
        (13) не верю     | |||
| 16
    
        wowik 01.08.13✎ 10:10 | 
        Лефмихалыч, +100. Сам недавно с этой ерундой занимался. Все по делу.     | |||
| 17
    
        Солнце 01.08.13✎ 10:11 | 
        (15) Все права настроены. Права на все даны!     | |||
| 18
    
        Лефмихалыч модератор 01.08.13✎ 10:13 | 
        (17) Ты имя пользователя, под которым служба сервера запущена-то хоть знаешь?     | |||
| 19
    
        Лефмихалыч модератор 01.08.13✎ 10:14 | 
        да и не через шару надо на сервер файлы передавать, а через временное хранилище     | |||
| 20
    
        lEvGl гуру 01.08.13✎ 10:14 | 
        (15) если права точно есть, тогда попробуйте через ADODB
 Connection = Новый COMОбъект ("ADODB.Connection"); Connection.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Файл + ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""); Catalog = Новый COMОбъект ("ADOX.Catalog"); Catalog.ActiveConnection = Connection; ИмяЛиста = Catalog.Tables.Item(0).Name; String = "Select * from [" + ИмяЛиста + "]"; Recordset = Новый COMОбъект ("ADODB.Recordset"); Recordset.Open (String, Connection, 2, 3); Пока НЕ Recordset.EOF() Цикл Строка = СокрЛП(Строка(Recordset.Fields(1).Value)); КонецЦикла; | |||
| 21
    
        Солнце 01.08.13✎ 10:15 | 
        USR1CV82     | |||
| 22
    
        lEvGl гуру 01.08.13✎ 10:16 | 
        (21) возможно админ менял пользователя, из под которого rphost запускается     | |||
| 23
    
        Лефмихалыч модератор 01.08.13✎ 10:16 | 
        (21) тебе эксель русским языком все сказал в (3)     | |||
| 24
    
        Галахад гуру 01.08.13✎ 10:17 | 
        Права можно так проверить:
 Файл = Новый Файл(ИмяФайла); Файл.Удалить() | |||
| 25
    
        Serginio1 01.08.13✎ 10:18 | 
        (17) Посмотри права DCOM     | |||
| 26
    
        Солнце 01.08.13✎ 10:18 | 
        (22)Не менял     | |||
| 27
    
        Солнце 01.08.13✎ 10:18 | 
        (25) Дали     | |||
| 28
    
        Лефмихалыч модератор 01.08.13✎ 10:20 | 
        как вариант - на клиентской тачке висит срежи процессов excel.exe, созданный при отладке ы файловом варианте и корректно не закрытый при завершении обработки. Этот процесс залочил файл.     | |||
| 29
    
        lEvGl гуру 01.08.13✎ 10:20 | 
        (26) может процесс экселя на сервере висит - занял файл. проверьте - (24)     | |||
| 30
    
        Солнце 01.08.13✎ 10:21 | 
        (28)Это тоже проверяла     | |||
| 31
    
        Солнце 01.08.13✎ 10:21 | 
        (29) НЕТУ     | |||
| 32
    
        Солнце 01.08.13✎ 10:21 | 
        (24) есть права)     | |||
| 33
    
        Лефмихалыч модератор 01.08.13✎ 10:21 | 
        (30) тогда я знаю ответ - не твой день     | |||
| 34
    
        lEvGl гуру 01.08.13✎ 10:21 | 
        ПРОВЕРЬТЕ через удаление     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |