Ошибка открытия файла для чтения xls 1с
Ошибки при открытии книги Microsoft Excel могут возникнуть при повреждении формата или тела документа, при различных неполадках как в работе самого приложения, так и операционной системы Windows.
Зачастую, ошибка при открытии файла возникает в случае несовместимости исходного файла и версии программного обеспечения пользователя. При таком случае можно прибегнуть либо к открытию исходного файла на другом компьютере, либо обновить версию пакета Microsoft.
Формат файлов также немало важен. Более старые версии программного обеспечения Excel имели формат «.xls». Начиная с 2007 года этот формат изменился на «.xlsx». Это было сделано для уменьшения размеров файлов путем сжатия данных.
Чтобы избежать ошибки открытия достаточно скачать специальный официальный патч с домашней страницы Microsoft и установить его на компьютер.
При получении данной ошибки пользователь не может работать с исходными данными, но имеет возможность изменить параметры открытия. Для этого нужно открыть меню «Файл» и перейти в раздел «Параметры».
В появившемся окне параметров нужно найти раздел «Дополнительно» — «Общие». В этом поле напротив параметры «Игнорировать DDE-запросы от других приложений» не должно стоять галочки». Если таковая стоит, ее следует убрать.
Если при попытке открыть книгу Excel операционная система запускает другие приложения, но не Microsoft Excel, значит изменились параметры сопоставлений. То есть операционная система Windows для открытия файлов формата Excel открывает другое приложение.
В настройках параметров открываем раздел «Программы» — «Программы по умолчанию» и нажимаем на пункт «Назначение программы для открытия файлов этого типа».
В списке форматов необходимо выбрать все форматы, которые относятся к Excel и в случае, если напротив них стоит не программное обеспечение Microsoft, его следует указать.
Также ошибки при открытии могут возникнуть при некорректной работе надстроек. В этом случае необходимо открыть окно надстроек. Перейдем во вкладку «Файл» и здесь в раздел «Надстройки». В пункте «Управление» выбираем «Надстройки СОМ».
Отключаем все надстройки и применяем процедуру при полном или частичном отключении каждой из надстроек. Это позволит найти поврежденную и восстановить ее, в случае необходимости.
Ошибки при открытии могут возникнуть при повреждении самого файла. В таком случае попробуем восстановить исходный файл и все его содержимое. Для этого откроем меню «Файл» — «Открыть».
В появившемся меню открытии документов находим исходный файл и нажимаем на дополнительные функции открытия возле кнопки «Открыть» в виде треугольник, после чего выбираем функцию «Открыть и восстановить».
Данная функция запустит процедуру восстановления и извлечения данных, если таковое необходимо при ошибке восстановления.
При открытии файла с расширением .xls (.xlsx), вы можете увидеть уведомление «Ошибка при направлении команды приложению» Excel 2007. Что делать в таком случае, узнайте в рамках данной публикации.
Устранение
Причины данной ошибки могут быть самые различные. Поэтому не будем вдаваться в подробности, почему появилась ошибка и проделаем поочередно способы ее устранения.
Отключение функции «Игнорировать DDE запросы»
В первую очередь попробуйте отключить данную функцию в параметрах Excel:
Открытие xls с помощью Excel по умолчанию
Присвоем файлам с расширениями .xls (.xlsx) программу, которая будет их открывать по умолчанию:
- Откройте «Выполнить» (сочетание клавиш Win+R) и выполните команду
- В открывшейся «Панели управления» сделайте «Просмотр: Крупные (или мелкие значки)» и откройте «Программы по умолчанию».
- Выберите пункт «Сопоставление типов файлов или протоколов с конкретными программами».
- Ожидайте, пока загрузятся все расширения.
- Найдите расширения .xls и .xlsx, выделите их и нажмите «Изменить программу».
- Выберите Excel в качестве программы, которая будет открывать файлы данного расширения по умолчанию. Нажмите «ОК».
Выделите Excel.exe и нажмите «Открыть».
Установка полного пакета обновлений
Ошибка возможна из-за багов, которые уже исправлены в новых патчах Microsoft Office. Если вы не обновляли ваш софт после установки на ПК, запустите Центр Обновления Windows и нажмите «проверку наличия обновлений». В случае наличия обновлений, вы можете установить их, перезагрузить компьютер и проверить наличие ошибки.
Этот пункт выполнять не обязательно, но желательно. Если вы полностью отключили обновление системы по собственным причинам, можете попробовать другие варианты устранения ошибки.
Отключение аппаратного ускорения
Данный способ поможет временно решить ошибку при направлении команды приложению Excel:
Проверяйте работоспособность файла.
Полная переустановка Microsoft Office
Если из перечисленных способов ни один не справился с проблемой, попробуйте переустановить MS Office. Для полного удаления:
Всем добрый вечер, сегодня хочу рассказать, что надо делать если при открытии exсel документа открывается только оболочка, а сам документ не открывается(хотя если перетащить этот самый фаил в открытую оболочку, то документ открывается моментально).
Данная проблема решается следующим образом:
В 2003 офисе:
- Открываем Exсel
- Заходим Меню Сервис->Параметры->-Общие
- И в строке Игнорировать DDE -запросу от других приложений убираем галочку
- Вот и все.
В 2010 офисе:
- Открываем Exсel
- Заходим в меню файл->Параметры->Дополнительно-> Общее (В самом низу)
- И в строке Игнорировать DDE -запросу от других приложений убираем галочку
- Вот и все
Доп поисковые запросы: файл excel не открывается, файл excel открывается пустым, почему не открывается файл excel, не открываются файлы excel 2007, не открывается файл excel 2010, excel перестал открываться файл, не открывается файл excel 2003, не открывается файл excel xlsx, не открываются файлы word excel,
Ошибка работы 1С 8 с Excel: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.
Полная формулировка ошибки:
: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу 'C:\1C_Arhiv\Тест загрузка прайсов\[имя_файла].xlsx'. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение . WorkBooks . Open ( ФормаИмпортXLS.ИмяФайла ); . Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.
Проблема оказалась нова для автора этого текста только в 2020 году, хотя самой проблеме достаточно много времени (более 5 лет на момент написания). В обсуждении данной ошибки на сайте infostart.ru "Ошибка открытия файла Excel на сервере" обсуждается несколько предложений по решению проблемы, среди которых наиболее популярный вариант решения. Так же там много попутных предложений по настройке прав на стороне сервера, если вдруг популярный вариант окажется не актуальным.
Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: "v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel"
Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.
Подскажите пожалуйста, в чем может быть ошибка, открытия .xls листа?
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(Файл);
Исключение
Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!");
Сообщить(ОписаниеОшибки());
Возврат 0;
КонецПопытки;
Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!
: Ошибка при вызове конструктора (COMОбъект): -2147220994(0x800401FE): Приложение было запущено, но оно не зарегистрировало фабрику классов
(0)
1. Если все расположено на клиентской машине - нужно установить нормальный Excel.
2. Если на сервере - п. 1 и проверить права пользователя ОС на создание COM объектов.
(3) (4) Дело в том что не работает на одной из версий платформы. На которой я начал делать.
Вот и не понял. Открыл другую, так как не давно пробовал делать тоже самое. и там так же.
В начале же нужно прочитать с Эксель. Вот с него не читалось.
(5) Ты вообще понял, что написано в (4)?
Читай через табличный документ,а не ком-объект. И будет тебе счастье.
(0) База какая SQL или файловая и где выполняется >>Excel = Новый COMОбъект("Excel.Application"); в процедуре
&НаКлиенте или &НаСервере ?
(4) Да как то привык так вот эксель открывать при загрузке с него.
А не копировать и вставлять в табличный документ.
(8) На сервере конечно, как обычно.
(12) Попробуйте создать процедуру &НаКлиенте и в процедуре открыть файл . Кстати Ексель стоит на компе, где пытаетесь файл считать.
(15) Тут вопрос был, почему под одной платформой не работает.
Идет ошибка что в (0). А под другой работает.
Я этого не мог понять. Может что с платформой.
Попробую ваш совет.
А ещё на сервере такой метод может не сработать, вроде как была как то у меня информация. Там как то иначе нужно.
Может это вот этот ваш совет про это. Я там встретился с тем что на сервере. делают копированием в табличный документ.
(16) Вы можете на клиенте в таблицу значений считать данные екселя и отдать ее на сервер выполнять дальнейшие манипуляции.
(19): метод "Прочитать" для таб.документов появился совсем недавно (в 15-м что ли релизе?)
ну и там (по ссылке) в принципе в коде не учтено, что книга читается в таб.документ с областями, имена которых совпадают с именами листов книги.
(10): опс. пардон, ялох.
просто на практике недавно нарвался, что "прочитать" нормально работал на 15-м - и при этом напрочь отказывался на 14-м. пардон, про "недавно№ не читайте, по ссылке на 9-м проверено.
В файловой базе загрузка прошла успешно.
тут нужно делать как в (19) или (15) или (4) советуют?
Ошибка на Колонки, на какие то из этих процедур видимо
(22) с правами на доступ к екселю (или он вообще не установлен на компе гдк стоит сервер 1С) у пользователя под которым запущен сервер 1С
(24) Эксель стоит. Открывается. Видимо там принцип работы какой то другой. Отличный от того что выполняется в файловой версии на персональном компьютере.
(25) когда в серверной версии вы на сервере запускаете работу с екселем, то создается сом объект на компе где стоит сервер 1С и под правами пользователя , под которыми он запущен.
+(27) 1Ссервер м.б. запущен не под тем пользователем, под которым вы заходите для проверки прав доступа к екселю
(28) Да на этом сервере у меня органиченные права. то есть получается этот код не отработает там?
Как можно выйти из положения?
(29) администратор системного подключать и проверять права именно на доступ к екселю под пользователем , под которым сервер 1С запущен
(30) К екселю подключается из под разных платформ ?
(31) На сервере под удаленным рабочим столом одна платформа.
(32) И на сервере не работает отладка, не посмотрю как выполняется код. Одно видно что ругается на Колонки сначала (22) .
Проверил, да, на клиенте может эксель открыть. Почему тогда такая проблема, не совсем пойму, из за чего.
если уж так хоццца через com
попробуй включи пользователя, под которым запускается сервер приложений 1С Предприятия 8, в группу Distributed COM Users - если не поможет, то дополнительно включить его в группу локальных администраторов.
(о результате - отпишись?)
(36): тогда бы ошибка была про файл. который не найден - не на этапе создания com-объекта, а при открытии файла.
(37) Буду пробовать сейчас этот вариант.
Ещё раз. спасибо за мотивацию.
где мне заполнять табличную часть на форме обработки? &НаКлиенте или на &НаСервере ?
А то утомился, подумал спрошу дельный совет. С табличного документа, я заполнил таблицу значений на сервере. Дальше?
Что бы на форме заполнить.
Что бы это все работало на удаленном рабочем столе, на сервере в базе ms sql server.
(42) Так ты на Сервере заполняй сразу в Объект, который из реквизита формы в значение получен. А затем обратно из значения в реквизит формы
у тебя что нет типовой? там же есть такое уже готовое, что подсмотреть можно.
(43) То есть сама таблица значений что есть у обработки, и положена на форму обработки для визуального отображения не доступна &НаСервере ?
(45): во-первых, реквизит №тз" и объект "тз" - это две большие разницы.
ну и во-вторых - а вы попробуйте эту "тз" передать в параметре на сервер. а потом расскажите.
(46) ага. :)))
Смысл в том, что получив таблицу значений с эксель
хочу вывести это на форму. Вот и узнаю что бы без проб, как сразу правильно делать?
(48) достаточно поместить табличное поле на форму, связанную с прочитанной таблицей. Посмотри типовую обработку по загрузке данных из табличного документа.
(52) Спасибо. Я сам делаю тут. Все равно по загрузке свои особенности.
Или вы тоже грузили в УТ 11.4
На сервере удалось прочитать, вот таким кодом.
Сейчас уже и дальше можно обрабатывать.
Управляемые формы. MS SQL. И база и эксель физически лежат на одной машине. Но эксель упорно не открывается, мол 1с не видит его. COMОбъект на клиенте вроде как нельзя создавать. Как боритесь с этой ситуевиной?
Добавлено через 38 минут
Нашел на инфостарте способ, как сделать через каталог временных файлов, но оказывается на папку пользователя USR1CV82 нужны права админа, и я в растерянности.
Как открыть новый эксель файл?
Как через код вба открыть нужный файл экселя?
Необходимо открыть и вернуть файл эксель из аксесс
Добрый день! Подскажите пожалуйста как реализовать такую нехитрую вещь - для автоматического.
Чем открыть csv файл если в нем 500000 строк, а в эксель файле 65536
чем открыть csv файл если в нем 500000 строк, а в эксель файле 65536
Код то работает в файловом варианте. а в серверном не дает открыть эксель. Встречались с такой ошибкой?
_ЕГОР_, Предположение. Полный путь к файлу как определяется в отладчике? Если что-то типа С: то это локальный путь. Должно быть сетевое имя компа
_ЕГОР_, Конечно доступ должен быть открыт
Добавлено через 3 минуты
Попрбуй вру ную прописать сетевой путь к файлу в процедуре с сом объектом. Увидит?
polax, ох в этом то и будет загвоздка.
Добавлено через 8 минут
polax, если прописываю путь типа \\192.168.0.1 то такая же ошибка
_ЕГОР_, а если путь указать по имени компа? Типа \\Server1 Делал когда-то. БП выкладывает файл на сервер, ЗУП использует этот файл. Брал файл по пути с именем компа
а почему ЗагрузкаНаСервере(Адрес) не использовать на клиенте? Формировать на сервер временный файл, а на клиенте его записать
: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "\\server2\obmen\platonov\Список готовый к загрузке Белашов ПОДУШКИ, ОДЕЯЛА (15.05.2018) - в работе.xlsx". Это может быть вызвано одной из следующих причин.
ВнешняяОбработка.ЗагрузкаЭксель.Форма.Форма.Форма(81)>• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
дает типа C:\Users\%UserName%\AppData\Local\Temp\prncss_Megan_дата.xls
А у тебя пытается открыть из \\server2\obmen\platonov\Список готовый к загрузке Белашов ПОДУШКИ, ОДЕЯЛА (15.05.2018) - в работе.xlsx
Мониторь в какой момент темп_Путь забивается этим тупым путем.
Volexovich, ну это я менял уже вот ошибка с временным каталогам
: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\Users\e.platonov\AppData\Local\Temp\14\prncss_Megan_2011 88086.xls". Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
-->
Ошибка 1С при формировании отчёта - Приложению Microsoft Excel не удается получить доступ к файлу
Коллеги, добрый день. При формировании отчёта выдаёт следующую ошибку:
Ошибка при вызове метода контекста (Open)
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\Users\1cv83\AppData\Local\Temp\v8_19EA_423.xlsx".
Самое интересное, что у пользователя, под которым запускается отчет, - админские права на сервере.
И путь указан верно, и доступ к файлу есть (руками открывается без проблем).
Клиент-сервер, процедура запускается на сервере. В чем может быть причина?
Добрый день! Дайте права пользователю 1cv83 на Microsoft Excel Application в Службах компонент.
Нажмите на “Пуск/Start”-> “Панель управления/Control Panel”
Далее “АдминистрированиеAdministrative Tools”-> “Службы компонентов/Component Services”
Откройте папку “Службы компонентов/ Component Services” и выберите “Настройка DCOM/DCOM Config”
Среди служб выберите “Microsoft Excel Application” и откройте его свойсва, вкладку “Безопасность/Security” и в разделе “Разрешения на запуск и активацию/Launch and Activation Permissions” настроить разрешения – выбрать “Настроить/Customize” и нажать “Изменить/Edit”.
Добавьте пользователя 1cv83 и нажмите “Применить/Apply” в свойствах безопасности компоненты.
Заключительным этапам будет создание папки с соответствующими правами пользователю 1cv83
C:\Windows\System32\config\systemprofile\Desktop – для Microsoft Office 2010
C:\Windows\SysWOW64\config\systemprofile\Desktop – для Microsoft Office 2007 (windows server x64)
C:\Windows\System32\config\systemprofile\Desktop – для Microsoft Office 2007 (windows server x86)
Читайте также: