| 
    
        
     
     | 
    
    
  | 
Ошибка при открытии файла Ексель | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Eeelena    
     22.09.14 
            ✎
    01:17 
 | 
         
        Делаю обработку, которые считывает данные из файла Ексель, сначала все работало нормально, данные считывались и заполнялись в таблицу значений, потом почему то возникла ошибка при открытии файла Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Неопознанная ошибка 1с 8.3. Подскажите, пожалуйста, в чем может быть проблема? 
 
        Код функции: Функция ПолучитьТЗИзEXCEL(ПутьКФайлу, ИмяНомерСтраницы, Заголовок = Истина, ПерваяСтрока = 0) Экспорт ИмяНомерСтраницы=1; ПерваяСтрока = 0; ТЗ = Новый ТаблицаЗначений; #Если Клиент Тогда Состояние("Подключение к файлу Excel..."); #КонецЕсли // Попытка Эксель = Новый COMОбъект("Excel.Application"); Версия = СтрПолучитьСтроку(СтрЗаменить(Эксель.Version, ".", Символы.ПС), 1); Исключение //СообщениеТекста("Ошибка подключения к "+ПутьКФайлу+" : "+ОписаниеОшибки(),,СтатусСообщения.Важное); Возврат ТЗ; КонецПопытки; // Книга = Эксель.WorkBooks.Open(ПутьКФайлу); // Выбираем данные запросом из таблицы файла по имени страницы Если ТипЗнч(ИмяНомерСтраницы) = Тип("Число") Тогда Лист = Книга.WorkSheets(ИмяНомерСтраницы); ИмяСтраницы = Лист.Name; Иначе ИмяСтраницы = ИмяНомерСтраницы; КонецЕсли; // // Определим диапазон данных Excel ПослЯчейка = СтрЗаменить(Книга.WorkSheets(ИмяСтраницы).Cells(1,1).SpecialCells(11).Address, "$", ""); // Эксель.Application.Quit(); // Эксель = неопределено; Книга = неопределено; Лист = неопределено; // Подлючаемся Connection = Новый COMОбъект("ADODB.Connection"); Если Версия = "12" ИЛИ Версия = "14" Тогда СтрокаПодключения ="Provider =Microsoft.ACE.OLEDB.12.0;Data Source="+ПутьКФайлу+";Extended Properties=""Excel 12.0 Xml;HDR="+?(Заголовок,"YES","NO")+";IMEX=1"""; Иначе СтрокаПодключения ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ПутьКФайлу+";Extended Properties=""Excel 8.0;HDR="+?(Заголовок,"YES","NO")+";IMEX=1"""; КонецЕсли; Попытка Connection.Open(СтрокаПодключения); Исключение //ПолучитьCOMОбъект(ИмяФайла, "Excel.Application"); Сообщить(ОписаниеОшибки()); Возврат ТЗ; КонецПопытки; Command=Новый COMОбъект("ADODB.Command"); Command.ActiveConnection=Connection; Command.CommandText = ?(ПерваяСтрока = 0, "Select * From [" + ИмяСтраницы + "$]", "Select * From [" + ИмяСтраницы + "$A" + ПерваяСтрока + ":" + ПослЯчейка + "]"); Попытка Записи=Command.Execute(); Исключение //Сообщить("Ошибка при выполнении запроса!"+ОписаниеОшибки(), ,СтатусСообщения.ОченьВажное); Возврат ТЗ; КонецПопытки; Для НомерПоля = 0 По Записи.Fields.Count-1 Цикл СтрКолонка = Строка(Записи.Fields.Item(НомерПоля).Name); СтрКолонка = СтрЗаменить(СтрКолонка,"№","Num"); НедопустимыеСимволы = " ~`!@""#№$;%^:&?*()-+=/\|.,"; Для i = 1 По СтрДлина(НедопустимыеСимволы) Цикл СтрКолонка = СтрЗаменить(СтрКолонка, Mid(НедопустимыеСимволы, i, 1), "_") КонецЦикла; ИмяКолонки = СокрЛП(СтрКолонка); ТЗ.Колонки.Добавить(ИмяКолонки, , СтрКолонка); КонецЦикла; Пока НЕ Записи.EOF() Цикл НоваяСтрока = ТЗ.Добавить(); Для НомерПоля = 0 По Записи.Fields.Count-1 Цикл НоваяСтрока[НомерПоля] = Записи.Fields(Записи.Fields.Item(НомерПоля).Name).Value; КонецЦикла; Записи.MoveNext(); КонецЦикла; Command = Неопределено; Записи = Неопределено; Возврат ТЗ; КонецФункции  | 
|||
| 
    1
    
        Cube    
     22.09.14 
            ✎
    04:50 
 | 
         
        А де фотка? :)     
         | 
|||
| 
    2
    
        sFAQer    
     22.09.14 
            ✎
    06:38 
 | 
         
        (0) а в пути к файлу лежит?     
         | 
|||
| 
    3
    
        Wobland    
     22.09.14 
            ✎
    06:41 
 | 
         
        как насчёт открывания в попытке и сообщения описания ошибки в исключении? после (1), конечно     
         | 
|||
| 
    4
    
        tixis    
     22.09.14 
            ✎
    07:22 
 | 
         
        (0) файл уже открыт     
         | 
|||
| 
    5
    
        Мимохожий Однако    
     22.09.14 
            ✎
    07:25 
 | 
         
        (4)+ посмотри в панели задач запущенные экземпляры Excel и удали их. Потом проверь заново.     
         | 
|||
| 
    6
    
        Eeelena    
     22.09.14 
            ✎
    07:32 
 | 
         
        (5) смотрю в диспетчере задач, процессы ексель никакие не висят. (2) в пути лежит D:\home\tyum\Desktop\Пример из галактики.xlsx     
         | 
|||
| 
    7
    
        Wobland    
     22.09.14 
            ✎
    07:33 
 | 
         
        (6) и на сервере он там есть?     
         | 
|||
| 
    8
    
        Eeelena    
     22.09.14 
            ✎
    07:38 
 | 
         
        (7) ну да     
         | 
|||
| 
    9
    
        Eeelena    
     22.09.14 
            ✎
    07:40 
 | 
         
        (7) просто очень странно сначала нормально открывалось, а потом почему то перестало, а в чем причина понять не могу(     
         | 
|||
| 
    10
    
        Wobland    
     22.09.14 
            ✎
    07:40 
 | 
         
        (8) ну давай описание ошибки. после (1), конечно     
         | 
|||
| 
    11
    
        Eeelena    
     22.09.14 
            ✎
    07:44 
 | 
         
        (10) Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Access Database Engine): Неопознанная ошибка     
         | 
|||
| 
    12
    
        sFAQer    
     22.09.14 
            ✎
    08:20 
 | 
         
        (0) Excel x64?     
         | 
|||
| 
    13
    
        sFAQer    
     22.09.14 
            ✎
    08:22 
 | 
         
        (0) C:\Windows\SysWOW64\config\systemprofile\Desktop     
         | 
|||
| 
    14
    
        sFAQer    
     22.09.14 
            ✎
    08:23 
 | 
         
        (13) C:\Windows\System32\config\systemprofile\Desktop
 
        Вот по этим путям проверь наличие этих папок, если нету, создай пустые  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |