Ошибка открытия файла для чтения xls 1с
Управляемые формы. MS SQL. И база и эксель физически лежат на одной машине. Но эксель упорно не открывается, мол 1с не видит его. COMОбъект на клиенте вроде как нельзя создавать. Как боритесь с этой ситуевиной?
Добавлено через 38 минут
Нашел на инфостарте способ, как сделать через каталог временных файлов, но оказывается на папку пользователя USR1CV82 нужны права админа, и я в растерянности.
Как открыть новый эксель файл?
Как через код вба открыть нужный файл экселя?
Необходимо открыть и вернуть файл эксель из аксесс
Добрый день! Подскажите пожалуйста как реализовать такую нехитрую вещь - для автоматического.
Чем открыть csv файл если в нем 500000 строк, а в эксель файле 65536
чем открыть csv файл если в нем 500000 строк, а в эксель файле 65536
Код то работает в файловом варианте. а в серверном не дает открыть эксель. Встречались с такой ошибкой? _ЕГОР_, Предположение. Полный путь к файлу как определяется в отладчике? Если что-то типа С: то это локальный путь. Должно быть сетевое имя компа polax, а это значит папка расшарена должна быть ведь?
_ЕГОР_, Конечно доступ должен быть открыт
Добавлено через 3 минуты
Попрбуй вру ную прописать сетевой путь к файлу в процедуре с сом объектом. Увидит?
polax, ох в этом то и будет загвоздка.
Добавлено через 8 минут
polax, если прописываю путь типа \\192.168.0.1 то такая же ошибка
Может на клиенте как то можно это сделать? а почему ЗагрузкаНаСервере(Адрес) не использовать на клиенте? Формировать на сервер временный файл, а на клиенте его записать Процедура ОбработатьДанные(ИмяФайла) поставь директиву &НаСервере
: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "\\server2\obmen\platonov\Список готовый к загрузке Белашов ПОДУШКИ, ОДЕЯЛА (15.05.2018) - в работе.xlsx". Это может быть вызвано одной из следующих причин.
ВнешняяОбработка.ЗагрузкаЭксель.Форма.Форма.Форма(81)>• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
А у тебя пытается открыть из \\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". Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
Подскажите пожалуйста, в чем может быть ошибка, открытия .xls листа?
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(Файл);
Исключение
Сообщить("Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!");
Сообщить(ОписаниеОшибки());
Возврат 0;
КонецПопытки;
Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!
: Ошибка при вызове конструктора (COMОбъект): -2147220994(0x800401FE): Приложение было запущено, но оно не зарегистрировало фабрику классов
Пока работаю под другим конфигуратором.
(0)
1. Если все расположено на клиентской машине - нужно установить нормальный Excel.
2. Если на сервере - п. 1 и проверить права пользователя ОС на создание COM объектов.
(3) (4) Дело в том что не работает на одной из версий платформы. На которой я начал делать.
Вот и не понял. Открыл другую, так как не давно пробовал делать тоже самое. и там так же.
В начале же нужно прочитать с Эксель. Вот с него не читалось.
(5) Ты вообще понял, что написано в (4)?
Читай через табличный документ,а не ком-объект. И будет тебе счастье.
&НаКлиенте или &НаСервере ?
(4) Да как то привык так вот эксель открывать при загрузке с него.
А не копировать и вставлять в табличный документ.
(8) На сервере конечно, как обычно.
(12) Попробуйте создать процедуру &НаКлиенте и в процедуре открыть файл . Кстати Ексель стоит на компе, где пытаетесь файл считать.
(15) Тут вопрос был, почему под одной платформой не работает.
Идет ошибка что в (0). А под другой работает.
Я этого не мог понять. Может что с платформой.
Попробую ваш совет.
А ещё на сервере такой метод может не сработать, вроде как была как то у меня информация. Там как то иначе нужно.
Может это вот этот ваш совет про это. Я там встретился с тем что на сервере. делают копированием в табличный документ.
Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.
Полная формулировка ошибки:
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение . WorkBooks . Open ( ФормаИмпортXLS.ИмяФайла ); . Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.
Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: "v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel"
Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.
Управляемые формы. MS SQL. И база и эксель физически лежат на одной машине. Но эксель упорно не открывается, мол 1с не видит его. COMОбъект на клиенте вроде как нельзя создавать. Как боритесь с этой ситуевиной?
Добавлено через 38 минут
Нашел на инфостарте способ, как сделать через каталог временных файлов, но оказывается на папку пользователя USR1CV82 нужны права админа, и я в растерянности.
Как открыть новый эксель файл?
Как через код вба открыть нужный файл экселя?
Необходимо открыть и вернуть файл эксель из аксесс
Добрый день! Подскажите пожалуйста как реализовать такую нехитрую вещь - для автоматического.
Чем открыть csv файл если в нем 500000 строк, а в эксель файле 65536
чем открыть csv файл если в нем 500000 строк, а в эксель файле 65536
Странно это, а точно у тебя Процедура ОбработатьДанные(ИмяФайла) выполняется на сервере? Перед созданием объекта экслель, проверь что тебе вернет КаталогВременныхФайлов().
Добавлено через 4 минуты
Ошибка открытия будет?
Правильно ли я понимаю ситуацию, что с правами USR1CV82 на Эксель ты уже баловался? _ЕГОР_, Вмешаюсь. Попробуй открыть этот файл по указанному пути из командной строки Вин, без 1с. Откроется? Хотя бы будет уверенность, что путь задан верно и доступ к файлу есть Так у тебя ексель открыта просто))) закрой файл на компе))) Volexovich, точно на сервере(скрин). Файл существует истина. В ИмяФайла лежит путь к экселю, если его скопировать и пройти по нему то открывается эксель. Нет у меня прав играться с USR1CV82. Да и для пользователя которого делаю врятли кто даст разрешения менять их.
polax, ну я собственно так и делаю вроде - копирую из отладки путь, вставляю его в поисковик виндовс и он открывает мне мой эксель)
slypower, на премию года метишь? закрыт он) _ЕГОР_, Не в поисковик. Файл он может и увидит а вот прав на открытие не хватит. Лучше открыть из командной строки. Хотя. по ошибке не видит файл, про права ни слова. Но я бы все-равно проверил из командной строки
Тогда странно, что не вылетает на этапе создания объекта Эксель. USR1CV82 не имеет прав пользователя, соответственно ему недоступно окружение пользователя, он вообще должен ругаться на создание сом объекта. Не поковыряв права USR1CV82 врядли что то получится. Меня и смутил то что ты можешь создать объект, но открыть файл уже не можешь. Скорее всего это связано с тем, что Эксель пишет куда нибудь временные данные при открытии файла и соответсвенно USR1CV82 прав на это место не имеет, отсюда и затык.
Добавлено через 1 минуту
PS Я с 83 не особо работаю сейчас, но там вроде была возможность грузить в табличный документ прямо из файла эксель, помотри в этом направлении, может тебе этого хватит.
Читайте также: