Имя: Пароль:
1C
1C 7.7
v7: Ошибка при открытии файла Excel
0 CTmuB
 
06.02.12
14:13
Подскажите где лыжи?

Excel = СоздатьОбъект("Excel.Application");
Книга = Excel.WorkBooks.Open(ИмяПапкиДанных+"\ИмяФайла.xls");

Книга = Excel.WorkBooks.Open(ИмяПапкиДанных+"\ИмяФайла.xls");
{C:\BASE\ZS_EG\EXTFORMS\ОБНОВИТЬ.ERT(83)}: Microsoft Office Excel: Невозможно получить свойство Open класса Workbooks
1 CTmuB
 
06.02.12
14:15
на компьютере установлен Microsoft Office Excel 2003
при создании новых файлов проблем нет
2 smaharbA
 
06.02.12
14:17
Ексель = СоздатьОбъект("Excel.Application");
Книги=Ексель.WorkBooks;
Если Книги.Count=0 Тогда
   Книги.Add();
КонецЕсли;
3 CTmuB
 
06.02.12
14:20
(2) файл уже существует, в нем 5 листов
4 smaharbA
 
06.02.12
14:21
(3) а ты попробуй, потом расскажешь
5 smaharbA
 
06.02.12
14:21
Ексель = СоздатьОбъект("Excel.Application");
Книги=Ексель.WorkBooks;
Если Книги.Count=0 Тогда
   Книги.Add();
КонецЕсли;
Книга = Книги.Open(ИмяПапкиДанных+"\ИмяФайла.xls");
6 CTmuB
 
06.02.12
14:24
(4) в условие не зашёл
7 smaharbA
 
06.02.12
14:26
если не заходит, значит все будет работать, если заходит то же будет работать
8 miki
 
06.02.12
14:26
(6)скобочки?
да и не нужно условие.
9 CTmuB
 
06.02.12
14:32
(8) ну вот и я не понимаю каким оно там боком нужно, но в силу (4) решил попробовать
10 smaharbA
 
06.02.12
14:33
(8) да, тут не нужно, просто когда обращаешься к некоторым свойствам приложения без наличия хотя бы одной книги получаем банан
11 miki
 
06.02.12
14:47
пароля нет на файле? Интерактиво открывается?
12 Jaffar
 
06.02.12
14:52
СокрЛП(ИмяПапкиДанных) не поможет?
13 CTmuB
 
06.02.12
14:53
(11) да
он же ранее был создан
14 CTmuB
 
06.02.12
14:53
Excel.WorkBooks.Add()
15 CTmuB
 
06.02.12
14:53
(12) Microsoft Office Excel: Невозможно получить свойство Open класса Workbooks
16 CTmuB
 
06.02.12
14:54
(12) Это ошибка OLE объекта а не 1С
17 aka AMIGO
 
06.02.12
15:00
странно..
у меня вот такой код, сейчас проверил, работает:
   Эксель = СоздатьОбъект("Excel.Application");
   Книга = Эксель.WorkBooks.Open(ЕхФайл);
   Лист = Книга.WorkSheets(НомерЛистаЕксель);
правда, ЕхФайл и НомерЛистаЕксель - реквизиты диалога обработки.
18 aka AMIGO
 
06.02.12
15:01
кстати, в отладчике с
ИмяПапкиДанных+"\ИмяФайла.xls"
всё нормально?
19 dk
 
06.02.12
15:07
попробуй
Книга1 = Excel.WorkBooks.Add();
Книга2 = Excel.WorkBooks.Open("C:\1.xls");
Книга3 = Excel.WorkBooks.Open(ИмяПапкиДанных+"\ИмяФайла.xls");
где вылетит?

C:\1.xls - кинь пустой файл эхеля
20 aka AMIGO
 
06.02.12
15:09
(19)я тут кофе выпил, кофейная гуща подсказывает: на первом :)
21 CTmuB
 
06.02.12
15:25
(20) на первом точно не вылетит
22 CTmuB
 
06.02.12
15:25
не понял почему, но проблема решилась
23 CTmuB
 
06.02.12
15:25
перезагрузкой компьютера
24 aka AMIGO
 
06.02.12
15:41
(23)интересно :)
какая ось стоит?
25 Fish
 
06.02.12
15:44
(23) Кстати, будете смеяться, но на предыдущей работе, админы даже ж..у не отрывали, если пользователь не перезагрузил первым делом компьютер. Многие проблемы решались банальной перезагрузкой компа. А общее название этих проблем: Неведомая Ёба..я Ху..я :))))
26 aka AMIGO
 
06.02.12
15:45
(25)ты угадал, я смеюсь :)
27 aka AMIGO
 
06.02.12
15:48
+26 напомнило мне одну неисправность в авте.. искра в баллон ушла, не схватывается двиг, хить задавись.. я с ног сбился, прозванивал цепи, чистил контакты.. приятель пришел: посмотри предохранитель..
блин-же..
как просто, в конце концов оказалось :)
вот тебе та-же перезагрузка :)
28 1Сергей
 
06.02.12
15:51
(25) пользователи терминальный сервер перезагружали?
29 CTmuB
 
07.02.12
11:24
(24) ХР
30 Fish
 
07.02.12
11:26
(28) Нет. Свои локальные. Причём здесь терминальный сервер? :))