Имя: Пароль:
1C
1С v8
Открыть файл Екселя программно
,
0 Popkorm
 
20.01.12
16:53
чет так не открывает:
   Попытка
       Excel = Новый COMОбъект("Excel.Application");
       МойФайл = Excel.WorkBooks.Open("c:\Temp\84х108_32ИзготОдЛиста.xlsx");
       Состояние("Обработка файла Microsoft Excel...");
       ExcelЛист = МойФайл.Sheets(1);
   Исключение
       Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel.");
       Возврат ложь;
   КонецПопытки;
1 Волесвет
 
20.01.12
16:54
и где у тебя он открывается?
2 Popkorm
 
20.01.12
16:57
(1)здесь должен открывать:
МойФайл = Excel.WorkBooks.Open("c:\Temp\84х108_32ИзготОдЛиста.xlsx");
3 zbv
 
20.01.12
16:59
попробуй так:

ExcelЛист = Excel.Sheets(1);
4 rs_trade
 
20.01.12
17:01
А там листы то есть вообще?
5 guitar_player
 
20.01.12
17:05
ЗапуститьПриложение("c:\Temp\84х108_32ИзготОдЛиста.xlsx");
6 Popkorm
 
20.01.12
17:05
(2)так самого начало делал:
   Попытка
       Excel = Новый COMОбъект("Excel.Application");
       Excel.WorkBooks.Open("c:\Temp\84х108_32ИзготОдЛиста.xlsx");
       Состояние("Обработка файла Microsoft Excel...");
       ExcelЛист = Excel.Sheets(1);
   Исключение
       Сообщить("Ошибка. Возможно неверно указан номер листа книги Excel.");


(4)3 листа
не работает
7 zbv
 
20.01.12
17:07
(6) а у тебя исключение вызывается ?
8 Tatitutu
 
20.01.12
17:07
Попытка
       Ехсел=СоздатьОбъект("Excel.Application");
   Исключение
       Предупреждение("Excel на компьютере не установлен!");
       Возврат ПолучитьПустоеЗначение();
   КонецПопытки;  
   Книга=Ехсел.Workbooks;
   Книга.Open(Сокрлп(ИмяФайла));
       
   
   КолвоЛистов=Ехсел.Sheets.Count();
   ИмяАктивногоЛиста=Ехсел.ActiveSheet.name;
   Если КолвоЛистов=1 Тогда
       Лист=КолвоЛистов;
   Иначе
       спЛист=СоздатьОбъект("СписокЗначений");
       спЛист.ДобавитьЗначение(ИмяАктивногоЛиста);
       Для сч=1 По КолвоЛистов  Цикл
       
           Если Ехсел.Sheets(сч).name=ИмяАктивногоЛиста Тогда
               Продолжить;
           КонецЕсли;    
           
           спЛист.ДобавитьЗначение(Ехсел.Sheets(сч).name);        
       КонецЦикла;        
       зн=ИмяАктивногоЛиста;
       Если спЛист.ВыбратьЗначение(зн,"Выберите нужный лист для загрузки",,60,0)=1 Тогда
           Лист=Зн;
       КонецЕсли;            
   КонецЕсли;
9 Popkorm
 
20.01.12
17:07
(7)да
10 zbv
 
20.01.12
17:09
(9) ОписаниеОшибки() - что говорит ?
11 Popkorm
 
20.01.12
17:10
(8)Книга.Open(Сокрлп(ИмяФайла));
ИмяФала где у тебя вызывается?!
12 Popkorm
 
20.01.12
17:14
(10){Форма.ФормаОтчета.Форма(205)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Не удалось найти "c:\Temp\84х108_32ИзготОдЛиста.xlsx". Проверьте правильность ввода имени и расположения файла.

При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
Все народ заработало,чет с тем Ехелем файлом какие то траблы.......Спасибо.А где пятничная ветка чет не найду
13 Tatitutu
 
20.01.12
17:18
(0) а откуда такое веселое название файл и месторасположение ?

"c:\Temp\84х108_32ИзготОдЛиста.xlsx"

он физически существует ?
14 Ковычки
 
20.01.12
17:20
файл был открыт
15 1с-кин
 
20.01.12
17:30
ADODB рулит :))
16 Ковычки
 
20.01.12
17:31
(15) педалит оно и нервно курит в сравнение с оле
17 1с-кин
 
23.01.12
14:00
(16) оно для переноса данных туда-сюда, а уже упарвление - можно и по OLE.
Здесь MS дает два варианта - быстрый и прсотой (ADO), и медленный и гибкий - OLE.