&НаКлиенте
Процедура ЗагрузитьФайлЭксель(Команда)
ОчиститьСообщения();
ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогВыбораФайла.Заголовок = "Выбрать файл Excel (справа внизу выберите тип файла)";
ДиалогВыбораФайла.Фильтр = "Лист Excel 2007(*.xlsx)|*.xlsx|Лист Excel 2003(*.xls)|*.xls";
Если ДиалогВыбораФайла.Выбрать() Тогда
ФайлНаДиске = Новый Файл(ДиалогВыбораФайла.ПолноеИмяФайла);
Если нРег(ФайлНаДиске.Расширение) = ".xls" ИЛИ нРег(ФайлНаДиске.Расширение) = ".xlsx" Тогда
ПрочитатьИзExcel(ДиалогВыбораФайла.ПолноеИмяФайла);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Показать
&НаКлиенте
Функция ПрочитатьИзExcel(ИмяФайла, НомерЛистаExcel = 1)
xlLastCell = 11;
ВыбФайл = Новый Файл(ИмяФайла);
Если НЕ ВыбФайл.Существует() Тогда
Сообщить("Файл не существует!");
Возврат Ложь;
КонецЕсли;
Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.WorkBooks.Open(ИмяФайла);
ExcelЛист = Excel.Sheets(НомерЛистаExcel);
Исключение
Сообщить("Ошибка открытия файла.");
Возврат ложь;
КонецПопытки;
КонецПроцедуры
(2) Забыла описать, что загрузка происходит с помощью стороннего модуля с закрытым кодом. Сама загрузка происходит через регламентное задание, на сервере excel 2016, не активирован (разработчики модуля писали, что активация не обязательна).
(4) Обращалась, разработчики ответили,что проблема с правами Excel на сервере. Вот и думаю, что это могут быть за права и как их изменить, вроде при настройке компоненты все необходимые права были даны.
Скорей всего файл действительно поврежден или уже удален. Попробуйте открыть этот файл на сервере в екселе своими руками и мышкой.
Если бы была проблема с ексилем он бы упал уже на : Excel = Новый COMОбъект("Excel.Application");
(12) Вполне возможно, т.к. изначально файл качается модулем с сайта по ссылке на скачивание. И как такое победить? Только добавляя время ожидание, перед чтением, в код модуля?
Нужен код вызова стороней обработки(клиент - сервер ) или как вы грузите,загружаете файлы - прям процесс в плане нажала то или то.
Непонятен процесс и последовательность. Вы программист или пользователь?
(14) Структура не совпадала с первоначальным файлом? - о какой структуре речь?
А первоначальная ошибка связана с отсутствием прав доступа на нужный файл/каталог/диск, ИМХО. Какие и кому прав недостаточно? Пользователю от которого запущен сервер 1С?
(16) Спрошу по-другому - оба загружаемых файла были идентичны? - разные
По второму вопросу - да, может быть проблема в правах пользователя. - сервер запущен под пользователем USR1CV8, созданным автоматически при установки платформы, пробовали переводить его в группу администраторов, ошибка остается.
(21) конечно excel, загружаемый файл также прилагался, excel на сервере открывает его без проблем и ошибок, а при чтении модулем появляется "Неизвестная ошибка"
Еще больше похоже на истину, что это какой-то кастинг на "Битву экстрасенсов": файла нет, кода загрузки - нет, возможности его изменить - нет, информации о настройках сервера - нет.
31.
VladimirElohov
12919.08.18 12:24 Сейчас в теме
Если взять файл, сохранить его в формате Excel 97-2003 (*.xls), затем переименовать файл, добавив к расширению буковку X в конце, тогда при открытии получившегося "*.xlsx" будет ровно та ошибка, что указана в первом посте.
Отсюда могу сделать предположение, что при скачивании не с тем расширением сохраняется файл.
Если файл открывается серверным процессом 1С, то у пользователя, который запускает этот процесс, может не хватать прав при обращении к файлу, или антивирус считает что это действие не корректное. При такой проблеме вручную файл будет открываться, а сервером не будет. Нужной выяснить каким пользователем запускается агент 1С, войти под этим пользователем в систему и попробовать открыть файл этим пользователем.
эта ошибка связана с дллкой от мс офиса - ее необходимо зарегистрировать в винде и перезагрузить комп - у меня такое было на файловой все работает , а на скульной выдает огибку при открытии ком обьекта