Ошибка открытия файла с помощью excel

   falselight

27.04.20 — 05:05

Подскажите пожалуйста, в чем может быть ошибка, открытия .xls листа?

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

        Excel.WorkBooks.Open(Файл);

    Исключение

        Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);

        Сообщить(ОписаниеОшибки());

        Возврат 0;

    КонецПопытки;

Выходит сообщение об ошибке, —

Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!

{ВнешняяОбработка.LOADxls.Форма.Форма.Форма(18)}: Ошибка при вызове конструктора (COMОбъект): -2147220994(0x800401FE): Приложение было запущено, но оно не зарегистрировало фабрику классов

   falselight

1 — 27.04.20 — 05:20

Ошибка, на этой строке.

Excel = Новый COMОбъект(«Excel.Application»);

Запустил другой конфигуратор. Там такой ошибки нет.

   falselight

2 — 27.04.20 — 05:39

Может что известное. Хотел узнать.

Пока работаю под другим конфигуратором.

   Василий Алибабаевич

3 — 27.04.20 — 08:00

(0)

1. Если все расположено на клиентской машине — нужно установить нормальный Excel.

2. Если на сервере — п. 1 и проверить права пользователя ОС на создание COM объектов.

   SleepyHead

4 — 27.04.20 — 08:37

(0) А что, читать через табличный документ уже нельзя?

   falselight

5 — 27.04.20 — 11:01

(3) (4) Дело в том что не работает на одной из версий платформы. На которой я начал делать.

Вот и не понял. Открыл другую, так как не давно пробовал делать тоже самое. и там так же.

В начале же нужно прочитать с Эксель. Вот с него не читалось.

   H A D G E H O G s

6 — 27.04.20 — 11:23

ЛивингСтар, ты ли это?

   SleepyHead

7 — 27.04.20 — 11:27

(5) Ты вообще понял, что написано в (4)?

Читай через табличный документ,а  не ком-объект. И будет тебе счастье.

   ChMikle

8 — 27.04.20 — 14:17

(0) База какая SQL или файловая и где выполняется >>Excel = Новый COMОбъект(«Excel.Application»); в процедуре

&НаКлиенте или &НаСервере ?

   Ram_zes

9 — 27.04.20 — 14:20

(0) считай это дерьмо через табличный документ

   Ram_zes

10 — 27.04.20 — 14:21

(0) и да

Тут рука профи нужна.

zmb@list.ru

Загрузка файла будет 1500 на карту стоить. Предоплата 100%.

   falselight

11 — 27.04.20 — 16:39

(4) Да как то привык так вот эксель открывать при загрузке с него.

А не копировать и вставлять в табличный документ.

   falselight

12 — 27.04.20 — 16:40

(8) На сервере конечно, как обычно.

&НаСервере

Функция СоздатьТЗсXLSЛистов(Файл)

    Таблица = Новый ТаблицаЗначений;

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

        Excel.WorkBooks.Open(Файл);

    Исключение

        Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);

        Сообщить(ОписаниеОшибки());

        Возврат 0;

    КонецПопытки;

    Попытка

        Excel.Sheets(1).Select();  

    Исключение

        Excel.ActiveWorkbook.Close();     

        Excel = 0;

        Сообщить(«Файл » + Строка(Файл)+» не соответствует необходимому формату! Первый лист не найден!»);

        ОтменитьТранзакцию();

        Возврат 0;

   falselight

13 — 27.04.20 — 16:40

(8) В данный момент файловая.

   falselight

14 — 27.04.20 — 16:42

(10) А как вы сообщение отредактировали свое????

   ChMikle

15 — 27.04.20 — 16:43

(12) Попробуйте создать процедуру  &НаКлиенте и в процедуре открыть файл . Кстати Ексель стоит на компе, где пытаетесь  файл считать.

&НаКлиенте процедура()

  Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

        Excel.WorkBooks.Open(Файл);

    Исключение

        Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);

        Сообщить(ОписаниеОшибки());

        Возврат 0;

    КонецПопытки;

   falselight

16 — 27.04.20 — 17:13

(15) Тут вопрос был, почему под одной платформой не работает.

Идет ошибка что в (0). А под другой работает.

Я этого не мог понять. Может что с платформой.

Попробую ваш совет.

А ещё на сервере такой метод может не сработать, вроде как была как то у меня информация. Там как то иначе нужно.

Может это вот этот ваш совет про это. Я там встретился с тем что на сервере. делают копированием в табличный документ.

   ChMikle

17 — 27.04.20 — 17:52

(16) Вы можете на клиенте в таблицу значений считать данные екселя и отдать ее на сервер выполнять дальнейшие манипуляции.

   Cthulhu

18 — 27.04.20 — 18:07

(17): на клиенте бывает (штатно) таблицазначений? и она норм сериализуется при передаче на сервер???

   Timon1405

19 — 27.04.20 — 18:16

   Cthulhu

20 — 27.04.20 — 18:46

(19): метод «Прочитать» для таб.документов появился совсем недавно (в 15-м что ли релизе?)

ну и там (по ссылке) в принципе в коде не учтено, что книга читается в таб.документ с областями, имена которых совпадают с именами листов книги….

   Cthulhu

21 — 27.04.20 — 18:48

(10): опс. пардон, ялох…

просто на практике недавно нарвался, что «прочитать» нормально работал на 15-м — и при этом напрочь отказывался на 14-м… пардон, про «недавно№ не читайте, по ссылке на 9-м проверено…

   falselight

22 — 28.04.20 — 10:00

В файловой базе загрузка прошла успешно.

Сейчас перенес на сервер. На удаленный рабочий стол, там не работает. Ошибка http://joxi.ru/823qePbHDq86wr

тут нужно делать как в (19) или (15) или (4) советуют?

Ошибка при загрузке http://joxi.ru/KAx3R4VT1LKM62

и http://joxi.ru/823qePbHDq86wr

   falselight

23 — 28.04.20 — 10:02

Ошибка на Колонки, на какие то из этих процедур видимо

&НаСервере

Функция СоздатьТЗсXLSЛистов(Файл)

    Таблица = Новый ТаблицаЗначений;

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

        Excel.WorkBooks.Open(Файл);

    Исключение

        Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);

        Сообщить(ОписаниеОшибки());

        Возврат 0;

    КонецПопытки;

    Попытка

        Excel.Sheets(1).Select();  

    Исключение

        Excel.ActiveWorkbook.Close();     

        Excel = 0;

        Сообщить(«Файл » + Строка(Файл)+» не соответствует необходимому формату! Первый лист не найден!»);

        ОтменитьТранзакцию();

        Возврат 0;

    КонецПопытки;    

    Версия = Лев(Excel.Version,Найти(Excel.Version, «.») — 1);

    Если Версия = «8» тогда

        ФайлСтрок   = Excel.Cells.CurrentRegion.Rows.Count;

        ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);

    Иначе

        ФайлСтрок   = Excel.Cells(1, 1).SpecialCells(11).Row;

        ФайлКолонок = Excel.Cells(1, 1).SpecialCells(11).Column;  

    Конецесли;

    Сч = 1;    

    //

    Таблица.Колонки.Добавить(«НоваяСтрока», ,»НоваяСтрока»);

    //

    Пока ЗначениеЗаполнено(Excel.Cells(1, Сч).Text) Цикл

        ИмяКолонки        = Excel.Cells(1, Сч).Text;

        //

        ИмяБезПробелов = СтрЗаменить(ИмяКолонки, » «, «»);     //

        ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, «(«, «»); //

        ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, «)», «»); //

        ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, «.», «»); //

        ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов, «,», «»); //

        //

        ИмяКолонки     = СтрЗаменить(ИмяКолонки, » «, «»); //

        ИмяКолонки     = СтрЗаменить(ИмяКолонки, «(«, «»); //

        ИмяКолонки     = СтрЗаменить(ИмяКолонки, «)», «»); //

        ИмяКолонки     = СтрЗаменить(ИмяКолонки, «.», «»); //

        ИмяКолонки     = СтрЗаменить(ИмяКолонки, «,», «»); //

        //

        ИмяБезПробелов = СтрЗаменить(ИмяБезПробелов,»/»,»»);

        ИмяКолонки     = СтрЗаменить(ИмяКолонки,»/»,»»);

        НоваяКолонка   = Таблица.Колонки.Добавить(ИмяБезПробелов, ,ИмяКолонки);

        Сч                = Сч + 1;

    КонецЦикла;

    НомерСтроки = 1;

    Для НС = 2 по ФайлСтрок Цикл  

        НоваяСтрока                = Таблица.Добавить();        

        //

        НоваяСтрока[«НоваяСтрока»] = НомерСтроки;            

        //

        Для НомерКолонки = 1 по Таблица.Колонки.Количество()-1 Цикл

            ТекущееЗначение         = Excel.Cells(НС, НомерКолонки).Text;

            ИмяКолонки                = Таблица.Колонки[НомерКолонки].Имя;             

            НоваяСтрока[ИмяКолонки] = ТекущееЗначение;            

        КонецЦикла;

        НомерСтроки = НомерСтроки + 1;

    КонецЦикла;  

    //

    Excel.DisplayAlerts = 0;

    Excel.ActiveWorkbook.Close();

    Excel.Quit();

    Excel.DisplayAlerts = 1;

    //

    Возврат Таблица;

КонецФункции

//

&НаСервере

Процедура СоздатьТаблицуНаФорме(ТзДляСоздания)

    //

    Таблица          = РеквизитФормыВЗначение(«Товары»);

    МассивРеквизитов = Новый Массив;

    Для Каждого Колонка Из Таблица.Колонки Цикл

        МассивРеквизитов.Добавить(«Товары.» + Колонка.Имя);      

    КонецЦикла;

    //

    ИзменитьРеквизиты(,МассивРеквизитов);

    //

    ЭлементТаблица = Элементы.Найти(«Товары»);

    Если ЭлементТаблица <> Неопределено Тогда

        Элементы.Удалить(ЭлементТаблица);      

    КонецЕсли;    

    //

    ЭлементТаблица             = Элементы.Добавить(«Товары», Тип(«ТаблицаФормы»), Элементы.Группа7);

    ЭлементТаблица.ПутьКДанным = «Товары»;

    ЭлементТаблица.Отображение = ОтображениеТаблицы.Список;  

    //

    МассивРеквизитов.Очистить();

    Для Каждого Колонка ИЗ ТзДляСоздания.Колонки Цикл

        МассивТипов = Новый Массив;

        МассивТипов.Добавить(Колонка.ТипЗначения);

        НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), «Товары»);

        МассивРеквизитов.Добавить(НоваяКолонка);

    КонецЦикла;

    //

    ИзменитьРеквизиты(МассивРеквизитов);

    ЗначениеВРеквизитФормы(ТзДляСоздания, «Товары»);

    //

    ЭлементТЗ = Элементы.Товары;

    Для Каждого Колонка ИЗ ТзДляСоздания.Колонки Цикл

        НовыйЭлементФормы             = Элементы.Добавить(«Товары» + Колонка.Имя, Тип(«ПолеФормы»), ЭлементТЗ);

        НовыйЭлементФормы.Вид         = ВидПоляФормы.ПолеВвода;

        НовыйЭлементФормы.ПутьКДанным = «Товары.» + Колонка.Имя;

    КонецЦикла;

КонецПроцедуры

//

   ChMikle

24 — 28.04.20 — 10:26

(22) с правами на доступ к екселю (или он вообще не установлен на компе гдк стоит сервер 1С) у пользователя под которым запущен сервер 1С

   falselight

25 — 28.04.20 — 10:47

(24) Эксель стоит. Открывается. Видимо там принцип работы какой то другой. Отличный от того что выполняется в файловой версии на персональном компьютере.

   falselight

26 — 28.04.20 — 10:50

(25) Принцип обработки файла кодом из 1с, я имею ввиду

   ChMikle

27 — 28.04.20 — 10:51

(25) когда в серверной версии вы на сервере запускаете работу с екселем, то создается сом объект на компе где стоит сервер 1С и под правами пользователя , под которыми он запущен.

   ChMikle

28 — 28.04.20 — 10:53

+(27) 1Ссервер м.б. запущен не под тем пользователем, под которым вы заходите для проверки прав доступа к екселю

   falselight

29 — 28.04.20 — 11:01

(28) Да на этом сервере у меня органиченные права. то есть получается этот код не отработает там?

Как можно выйти из положения?

   falselight

30 — 28.04.20 — 11:05

(17) &НаКлиенте не доступна     Таблица = Новый ТаблицаЗначений;

   ChMikle

31 — 28.04.20 — 11:06

(29) администратор системного подключать и проверять права именно на доступ к екселю под пользователем , под которым сервер 1С  запущен

(30) К екселю подключается из под разных платформ ?

   ChMikle

32 — 28.04.20 — 11:15

(30) на форме создайте элемент ТаблицаЗначений , колонки добавьте и потом перебором переписывайте

   falselight

33 — 28.04.20 — 11:25

(31) На сервере под удаленным рабочим столом одна платформа.

(32) И на сервере не работает отладка, не посмотрю как выполняется код. Одно видно что ругается на Колонки сначала (22) .

   falselight

34 — 28.04.20 — 11:40

(32) А как мне эксель то открыть?

   falselight

35 — 28.04.20 — 12:56

Проверил, да, на клиенте может эксель открыть. Почему тогда такая проблема, не совсем пойму, из за чего.

   ikea

36 — 28.04.20 — 13:10

(35) А как файл Excel на сервер с клиента передается? Через временное хранилище?

   МимохожийОднако

37 — 28.04.20 — 13:18

Повторюсь. Не надо СОМ. Используй чтение в табличный документ из файла методами 1С.

   Cthulhu

38 — 28.04.20 — 13:29

если уж так хоццца через com

попробуй включи пользователя, под которым запускается сервер приложений 1С Предприятия 8,  в группу Distributed COM Users — если не поможет, то дополнительно включить его в группу локальных администраторов.

(о результате — отпишись?)

   Cthulhu

39 — 28.04.20 — 13:31

(36): тогда бы ошибка была про файл. который не найден —  не на этапе создания com-объекта, а при открытии файла….

   Cthulhu

40 — 28.04.20 — 13:33

   falselight

41 — 28.04.20 — 13:39

(37) Буду пробовать сейчас этот вариант.

Ещё раз. спасибо за мотивацию.

   falselight

42 — 28.04.20 — 16:00

После того как с табличного документа я заполню &НаСервере таблицу значений,

где мне заполнять табличную часть на форме обработки? &НаКлиенте или на &НаСервере ?

А то утомился, подумал спрошу дельный совет. С табличного документа, я заполнил таблицу значений на сервере. Дальше?

Что бы на форме заполнить.

Что бы это все работало на удаленном рабочем столе, на сервере в базе ms sql server.

   Фрэнки

43 — 28.04.20 — 16:09

(42) Так ты на Сервере заполняй сразу в Объект, который из реквизита формы в значение получен. А затем обратно из значения в реквизит формы

у тебя что нет типовой? там же есть такое уже готовое, что подсмотреть можно.

   falselight

44 — 28.04.20 — 16:15

(43) Буду сейчас пробовать!

   falselight

45 — 28.04.20 — 16:15

(43) То есть сама таблица значений что есть у обработки, и положена на форму обработки для визуального отображения не доступна &НаСервере ?

   H A D G E H O G s

46 — 28.04.20 — 16:17

Ахахаха, жесть жестяночка.

   Cthulhu

47 — 28.04.20 — 16:19

(45): во-первых, реквизит №тз» и объект «тз» — это две большие разницы.

ну и во-вторых — а вы попробуйте эту «тз» передать в параметре на сервер… а потом расскажите…

(46) ага. :)))

   falselight

48 — 28.04.20 — 16:21

Смысл в том, что получив таблицу значений с эксель

хочу вывести это на форму. Вот и узнаю что бы без проб, как сразу правильно делать?

http://joxi.ru/RmznO4eiRZ5wVm

Намек хотя бы.

   Фрэнки

49 — 28.04.20 — 16:27

(48) такая ТЗ, как у тебя на картинке видна = реквизит формы. Поэтому нужно через

ТекущийОбъект = РеквизитФормыВЗначение(«Книги»);

ЗдесьПишемСвойКодЗаполнения(ТекущийОбъект);

ЗначениеВРеквизитФормы(ТекущийОбъект, «Книги»);



тогда увидишь свою заполненную тз на форме

   ChMikle

50 — 28.04.20 — 17:01

(48) делал загрузку с формы, поищу обработку , если найду вышлю

   МимохожийОднако

51 — 28.04.20 — 17:12

(48) достаточно поместить табличное поле на форму, связанную с прочитанной таблицей. Посмотри типовую обработку по загрузке данных из табличного документа.

   ChMikle

52 — 28.04.20 — 17:29

Куда выслать обработку ?

   falselight

53 — 29.04.20 — 04:04

(52) Спасибо. Я сам делаю тут. Все равно по загрузке свои особенности.

Или вы тоже грузили в УТ 11.4

Вес товара с упаковкой (г), г    

Высота предмета, см    

Высота упаковки, см    

Глубина предмета, см    

Глубина упаковки, см    

Ширина предмета, см    

Ширина упаковки, см

   falselight

54 — 29.04.20 — 04:35

(52) Ну, а если есть интересные какие примеры. Можно сюда. MyRezume2020@yandex.ru

  

falselight

55 — 29.04.20 — 04:59

На сервере удалось прочитать, вот таким кодом.

Сейчас уже и дальше можно обрабатывать.

//

&НаКлиенте

Процедура ФайлДляЗагрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    СтандартнаяОбработка = ложь;

    ВыбратьФайл(«ФайлДляЗагрузки»);

КонецПроцедуры

//

&НаКлиенте

Процедура ВыбратьФайл(ФайлДляЗагрузки)

    #Если ВебКлиент Тогда

    Результат = ПодключитьРасширениеРаботыСФайлами();

    Если Не Результат Тогда

        УстановитьРасширениеРаботыСФайлами();

        Если Не ПодключитьРасширениеРаботыСФайлами() Тогда

            ВызватьИсключение «Ошибка. Ваш браузер не поддерживает работу с файлами.»;

        КонецЕсли;

    КонецЕсли;

    #КонецЕсли

    Диалог                         = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);

    Диалог.Заголовок             = «Выберите файл»;

    Диалог.ПолноеИмяФайла         = «»;

    Диалог.МножественныйВыбор     = Ложь;

    Диалог.Фильтр               = «Документ Excel (*.xls, *.xlsx)|*.xls;*.xlsx|»;

    Оповещение                  = Новый ОписаниеОповещения(«ОповещениеПослеВыбораФайлаДляОткрытия», ЭтотОбъект, ФайлДляЗагрузки);    

    Диалог.Показать(Оповещение);

КонецПроцедуры

//

&НаКлиенте

Процедура ОповещениеПослеВыбораФайлаДляОткрытия(ВыбранныеФайлы, ДопПараметры) Экспорт

    Если ТипЗнч(ВыбранныеФайлы) = Тип(«Массив»)    Тогда

        Объект[ДопПараметры] = ВыбранныеФайлы[0];

    КонецЕсли;

КонецПроцедуры

//

&НаКлиенте

Процедура Прочитать(Команда)

    Если Не ЗначениеЗаполнено(Объект.ФайлДляЗагрузки) Тогда

        Сообщить(«Не указан файл. Обработка не выполнена.»);

        Возврат;

    КонецЕсли;    

    ВыбФайл = Новый Файл(Объект.ФайлДляЗагрузки);

    Если Не ВыбФайл.Существует() Тогда

        Сообщить(«Файл не существует!»);

        Возврат;

    КонецЕсли;  

    ТДВыгрузка = Новый ТабличныйДокумент;

    мПрочитатьТабличныйДокументИзExcel(ТДВыгрузка, Объект.ФайлДляЗагрузки, 1);

    ПрочитатьНаСервере(ТДВыгрузка);

КонецПроцедуры

//

&НаКлиенте

Функция мПрочитатьТабличныйДокументИзExcel(ТабличныйДокумент, ИмяФайла, НомерЛистаExcel = 1) Экспорт

    xlLastCell = 11;

    ВыбФайл    = Новый Файл(ИмяФайла);

    Если НЕ ВыбФайл.Существует() Тогда

        Сообщить(«Файл не существует!»);

        Возврат Ложь;

    КонецЕсли;

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

        Excel.WorkBooks.Open(ИмяФайла);

        ExcelЛист = Excel.Sheets(НомерЛистаExcel);

    Исключение

        Сообщить(«Ошибка. Возможно неверно указан номер листа книги Excel.»);

        Возврат Ложь;

    КонецПопытки;

    SpecialCells = Excel.Sheets(НомерЛистаExcel).Cells.SpecialCells(11);

    RowCount     = SpecialCells.Row;

    ColumnCount  = SpecialCells.Column;

    Для Column = 1 По ColumnCount Цикл

        ТабличныйДокумент.Область(«C» + Формат(Column, «ЧГ=»)).ШиринаКолонки = ExcelЛист.Columns(Column).ColumnWidth;

    КонецЦикла;

    Для Row = 1 По RowCount Цикл

        Для Column = 1 По ColumnCount Цикл

            Если ТипЗнч(ExcelЛист.Cells(Row,Column).Value) = Тип(«Число») Тогда

                ЗначениеЗамена = СтрЗаменить(ExcelЛист.Cells(Row,Column).Value, » «, «»);

            Иначе

                ЗначениеЗамена = ExcelЛист.Cells(Row,Column).Value

            КонецЕсли;    

            ТабличныйДокумент.Область(«R» + Формат(Row, «ЧГ=») +»C» + Формат(Column, «ЧГ=»)).Текст = ЗначениеЗамена;

        КонецЦикла;

    КонецЦикла;

    Excel.WorkBooks.Close();

    Excel = 0;

    Возврат Истина;

КонецФункции //

//

&НаСервере

Процедура ПрочитатьНаСервере(Макет)

    ТЗсXLS = Новый ТаблицаЗначений;

    ТЗсXLS.Колонки.Добавить(«», Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«OzonID»,                Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Баркод»,                Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Наименование»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Автор»,                Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Год»,                    Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Издательство»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Артикул»,                Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Комплектация»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ВесТовараСУпаковкой», Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ВысотаПредмета»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ВысотаУпаковки»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ГлубинаПредмета»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ГлубинаУпаковки»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ШиринаПредмета»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«ШиринаУпаковки»,        Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Количество»,            Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«Цена»,                Новый ОписаниеТипов(«Строка»));

    ТЗсXLS.Колонки.Добавить(«НомерСтроки»,           Новый ОписаниеТипов(«Строка»));

    //

    Для Стр = 2 По Макет.ВысотаТаблицы Цикл

        НоваяСтрока                     = ТЗсXLS.Добавить();        

        НоваяСтрока.OzonID                 = СокрЛП(Макет.Область(Стр, 1).Текст);

        НоваяСтрока.Баркод                 = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Наименование         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Автор                 = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Год                 = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Издательство         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Артикул             = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Комплектация         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ВесТовараСУпаковкой = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ВысотаПредмета         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ВысотаУпаковки         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ГлубинаПредмета     = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ГлубинаУпаковки     = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ШиринаПредмета         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.ШиринаУпаковки         = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Количество             = СокрЛП(Макет.Область(Стр, 2).Текст);

        НоваяСтрока.Цена                 = СокрЛП(Макет.Область(Стр, 2).Текст);        

        НоваяСтрока.НомерСтроки         = Стр;

    КонецЦикла;

    //

    ТзКнигиНаФорме = РеквизитФормыВЗначение(«Книги»);

    Для Каждого СтрТЗсXLS Из ТЗсXLS Цикл

        НоваяСтрока                     = ТзКнигиНаФорме.Добавить();        

        НоваяСтрока.НомерСтроки         = СокрЛП(СтрТЗсXLS.НомерСтроки-1);        

        НоваяСтрока.OzonID                 = СокрЛП(СтрТЗсXLS.OzonID);

        НоваяСтрока.Баркод                 = СокрЛП(СтрТЗсXLS.Баркод);

        НоваяСтрока.Наименование         = СокрЛП(СтрТЗсXLS.Наименование);

        НоваяСтрока.Автор                 = СокрЛП(СтрТЗсXLS.Автор);

        НоваяСтрока.Год                 = СокрЛП(СтрТЗсXLS.Год);

        НоваяСтрока.Издательство         = СокрЛП(СтрТЗсXLS.Издательство);

        НоваяСтрока.Артикул             = СокрЛП(СтрТЗсXLS.Артикул);

        НоваяСтрока.Комплектация         = СокрЛП(СтрТЗсXLS.Комплектация);

        НоваяСтрока.ВесТовараСУпаковкой = СокрЛП(СтрТЗсXLS.ВесТовараСУпаковкой);

        НоваяСтрока.ВысотаПредмета         = СокрЛП(СтрТЗсXLS.ВысотаПредмета);

        НоваяСтрока.ВысотаУпаковки         = СокрЛП(СтрТЗсXLS.ВысотаУпаковки);

        НоваяСтрока.ГлубинаПредмета     = СокрЛП(СтрТЗсXLS.ГлубинаПредмета);

        НоваяСтрока.ГлубинаУпаковки     = СокрЛП(СтрТЗсXLS.ГлубинаУпаковки);

        НоваяСтрока.ШиринаПредмета         = СокрЛП(СтрТЗсXLS.ШиринаПредмета);

        НоваяСтрока.ШиринаУпаковки         = СокрЛП(СтрТЗсXLS.ШиринаУпаковки);

        НоваяСтрока.Количество             = СокрЛП(СтрТЗсXLS.Количество);

        НоваяСтрока.Цена                 = СокрЛП(СтрТЗсXLS.Цена);        

    КонецЦикла;

    ЗначениеВРеквизитФормы(ТзКнигиНаФорме, «Книги»);    

КонецПроцедуры

//

Ошибка работы 1С 8 с Excel: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу

Описание ошибки:
Проявила себя в клиент-серверной базе. Релиз платформы 1С: Предприятие 8.3.13.1644.

Найденные решения:

Полная формулировка ошибки:

{Доработки Документ.УстановкаЦенНоменклатуры.Форма.Доп_ФормаИмпортXLS.Форма(83)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:1C_ArhivТест загрузка прайсов[имя_файла].xlsx’. Это может быть вызвано одной из следующих причин.

• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.

1C 8 Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу .xlsx

1С 8 работа с Excel Ошибка при вызове метода контекста (Open)

При доработке в расширении для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая должна загружать данные из файлов Excel и при попытке выполнения в коде РабочаяКнига = ExcelПриложение.WorkBooks.Open(ФормаИмпортXLS.ИмяФайла);. Что удивительно, но в более ранней редакции Комплексной, 1.1, эта проблема не возникала в этом же коде, хотя обе базы на одном сервере.

Проблема оказалась нова для автора этого текста только в 2020 году, хотя самой проблеме достаточно много времени (более 5 лет на момент написания). В обсуждении данной ошибки на сайте infostart.ru «Ошибка открытия файла Excel на сервере» обсуждается несколько предложений по решению проблемы, среди которых наиболее популярный вариант решения. Так же там много попутных предложений по настройке прав на стороне сервера, если вдруг популярный вариант окажется не актуальным.

1C 8

Популярность этого варианта подтверждается исчерпывающим обсуждением и вот на этом ресурсе: «v8.x: [РЕШЕНО] Ошибка при вызове метода контекста (Open) при работе с Excel»

1C 8.2 8.3 Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу

Проблема была рещена данным простым решением, но обращу внимание на то, что данное действие должно быть выполнено на сервере, а не на локальном рабочем месте.

1C 8 Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

23-09-2020

Журавлев А.С.
(Сайт azhur-c.ru)

  

Mikhail Volkov

14.02.19 — 18:22

При открытии (сохранении) отчета, сформированного в Альфа-Авто, в Excel 2010 стала появляться Неизвестная ошибка:

{ОбщаяФорма.Отчет.Форма(962)}: Ошибка при вызове метода контекста (Open)

    Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

по причине:

Неизвестная ошибка

Вроде на форуме 1С-Рарус нашел решение подобной проблемы https://rarus.ru/forum/messages/forum7/topic10978/message62444/#message62444, но замена расширения у файла tmpxls.xls на xlsx мне не помогла:

Произошла исключительная ситуация (Microsoft Excel): Не удается открыть файл «tmpxls.xlsx», так как формат или расширение этого файла являются недопустимыми. Убедитесь, что файл не поврежден и расширение его имени соответствует его формату

    Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xlsx»);    //+МВ 14.02.2019 xls дает Неизвестная ошибка

по причине:

Произошла исключительная ситуация (Microsoft Excel): Не удается открыть файл «tmpxls.xlsx», так как формат или расширение этого файла являются недопустимыми. Убедитесь, что файл не поврежден и расширение его имени соответствует его формату

А настройках безопасности Excel затрудняюсь… Дело в том, что КаталогВременныхФайлов(), в который пишется tmpxls.xls, находится D:UsersmvAppDataLocalTemp3. Не знаю, как его назначает система? А пытаюсь добавить его в Надежное расположение, и не дает, говорит не является допустимым!? https://jpegshare.net/e7/32/e7329ffaad896b0109bb8f5689f1e368.jpg.html

Как побороть проблему?

  

OldCondom

1 — 14.02.19 — 18:27

Так измени код, где он там путь выбирает.

  

OldCondom

2 — 14.02.19 — 18:27

вместо КаталогВременныхФайлов() подставь свое

  

Mikhail Volkov

3 — 14.02.19 — 19:32

(2) Подставил в Надежное расположение D:1с-tempmv, прописал в коде: КаталогВременныхФайловExcel = «D:1с-tempmv»; вместо КаталогВременныхФайлов(). Теперь:

{ОбщаяФорма.Отчет.Форма(962)}: Ошибка при вызове метода контекста (Записать)

        ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайловExcel + «tmpxls.xls», ТипФайлаТабличногоДокумента.XLS);

по причине:

Ошибка при выполнении файловой операции  ‘D:1с-tempmvtmpxls.xls’. -2147287037(0x80030003): Путь %1 не найден.

  

МимохожийОднако

4 — 14.02.19 — 19:48

Присвой путь какой-нибудь переменной и убедись, что значение из отладчика является реальным и доступным

  

Garykom

5 — 14.02.19 — 19:52

>стала появляться Неизвестная ошибка

Признавайтесь что меняли что стала ошибка появляться? Одмины с правами на сервере не игрались?

  

Mikhail Volkov

6 — 14.02.19 — 20:21

(5) Говорят ничего, только обновления ставились.

  

_Дайвер_

7 — 14.02.19 — 20:25

(6) бздят

  

Mikhail Volkov

8 — 15.02.19 — 06:51

(2) > не поленился и проверил, что проблема именно в данной настройке — в коде жестко поменял КаталогВременныхФайлов() на тестовую «D:Temp» + прописал ее в доверенные (Excel дал добавить)

Такое решение проблемы возможно для сетевых пользователей, работающих каждый на своем компьютере (под ХР или 2003). А у меня Альфа-Авто на сервере-терминале 2008R2, где каждому пользователю назначаются свои папки, в т.ч. временные. Мне назначена D:UsersmvAppDataLocalTemp, причем mv — Mikhail Volkov. Наверняка в системе, где назначаются эти папки (не нашел где?) прописывается %UserName%. Мне сисамин написал: Чтоб не создавать под каждого пользователя его подкаталог используй примерно такую конструкцию:

set up=d:1C-Temp

set un=%UserName%

set ud=%UserDnsDomain%

set КаталогВременныхФайловExcel=»%up%%un%.%ud%»

if not exist %КаталогВременныхФайловExcel% md %КаталогВременныхФайловExcel%

Как ее прописать в 1С?

  

Garykom

9 — 15.02.19 — 07:06

(8) Ты понимаешь что сервер 1С запускается от другого юзера не от того что клиент 1С ?

Или у вас там файловая база?

  

Mikhail Volkov

10 — 15.02.19 — 08:03

(9) Рабочая база SQL, а отлаживаю в файловой копии — одна и та же ошибка:

{ОбщаяФорма.Отчет.Форма(963)}: Ошибка при вызове метода контекста (Open)

        Excel.Workbooks.Open(КаталогВременныхФайловExcel);

по причине:

Неизвестная ошибка

и для расширения xls, и для xlsx.

Где в системе назначается КаталогВременныхФайлов()? Хочу ее поменять, хотя бы под собой для проверки.

  

Mikhail Volkov

11 — 15.02.19 — 10:27

К https://jpegshare.net/e7/32/e7329ffaad896b0109bb8f5689f1e368.jpg.html

Каталог D:UsersmvAppDataLocalTemp3 и D:UsersmvAppDataLocalTemp не дает сохранить в Надежное расположение. А папку D:UsersmvAppDataLocal дало с галочкой «Также доверять всем вложенным папкам». Но Неизвестная ошибка осталась. Видимо добавить КаталогВременныхФайлов() в Надежное расположение расположение мало… что-то еще. А что?

  

Mikhail Volkov

12 — 16.02.19 — 05:22

Сисадмины удалили все обновления после 13.02.2019. К сожалению не помогло, Неизвестная ошибка осталась.

  

hhhh

13 — 16.02.19 — 06:40

(10) попробуй тогда

Excel.Workbooks.Open(КаталогВременныхФайловExcel + «tmpxls.xlsx»);

или

Excel.Workbooks.Open(КаталогВременныхФайловExcel + «tmpxls.xlsx»);

  

МимохожийОднако

14 — 16.02.19 — 06:41

Используй ПолучитьИмяВременногоФайла()

Потом переименовывай куда удобно

  

Mikhail Volkov

15 — 16.02.19 — 10:43

(13) Пробовал — ошибка в (0): «Не удается открыть файл «tmpxls.xlsx», так как формат или расширение этого файла являются недопустимыми…» из-за того, что в команде: ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.XLS); заменил только одно расширение. А оба заменил на xlsx, то как прежде «Неизвестная ошибка».

  

Necessitudo

16 — 16.02.19 — 22:13

Может таки покажешь полный код, а не будешь кусочки вываливать?

  

Mikhail Volkov

17 — 17.02.19 — 07:14

(16) Одна из функций (самая короткая) без каких либо изменений (всего их 4):

// Открыть отчет в формате Excel

Процедура ОткрытьВExcelТабличныйДокумент(Excel, ДокументРезультат) Экспорт

        

        ДокументРезультат.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.HTML);

        Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

        tmpBook = Excel.Workbooks.Item(Excel.Workbooks.Count);

        КнигаExcel = Excel.Workbooks.Add();

        ЛистExcel = КнигаExcel.WorkSheets.Item(1);

        КнигаExcel.Colors = tmpBook.Colors;

        tmpBook.Sheets(1).Cells.Copy(ЛистExcel.Cells);

        tmpBook.Close();         

        КнигаExcel.Activate();

        ЛистExcel.Activate();

        Excel.Visible = 1;

КонецПроцедуры

  

hhhh

18 — 17.02.19 — 07:32

(17) почему тип html?

  

Mikhail Volkov

19 — 17.02.19 — 08:47

(18) Другая, чуть подлиннее:

// Процедура открывает в MS Excel табличный документ или сводную таблицу

Процедура ДействияФормыОткрытьВExcel(Кнопка)

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

    Исключение

        Сообщить(«ОШИБКА! Приложение MS Excel отсутствует или недостаточно прав доступа!

                 |    — » + ОписаниеОшибки(), СтатусСообщения.ОченьВажное);

        Возврат;

    КонецПопытки;

    // Откроем табличный документ

    ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.XLS);

    Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

    tmpBook = Excel.Workbooks.Item(Excel.Workbooks.Count);

    КнигаExcel = Excel.Workbooks.Add();

    КнигаExcel.Colors = tmpBook.Colors;

    tmpBook.Sheets(1).Copy(КнигаExcel.WorkSheets(1));

    ЛистExcel = КнигаExcel.WorkSheets.Item(1);

    //tmpBook.Sheets(1).Cells.Copy(ЛистExcel.Cells);

    tmpBook.Close();

    //ЛистExcel.Name=ЭтаФорма.ОбъектПредставление;

    Если ЭлементыФормы.ТабличныйДокумент.ОриентацияСтраницы=ОриентацияСтраницы.Портрет Тогда

        ЛистExcel.PageSetup.Orientation = 1;

    Иначе

        ЛистExcel.PageSetup.Orientation = 2;

    КонецЕсли;

    ПолеСлева=ЭлементыФормы.ТабличныйДокумент.ПолеСлева/25.4;

    ПолеСправа=ЭлементыФормы.ТабличныйДокумент.ПолеСправа/25.4;

    ПолеСверху=ЭлементыФормы.ТабличныйДокумент.ПолеСверху/25.4;

    ПолеСнизу=ЭлементыФормы.ТабличныйДокумент.ПолеСнизу/25.4;

    ЛистExcel.PageSetup.LeftMargin = Excel.Application.InchesToPoints(ПолеСлева);

    ЛистExcel.PageSetup.RightMargin = Excel.Application.InchesToPoints(ПолеСправа);

    ЛистExcel.PageSetup.TopMargin = Excel.Application.InchesToPoints(ПолеСверху);

    ЛистExcel.PageSetup.BottomMargin = Excel.Application.InchesToPoints(ПолеСнизу);

    КнигаExcel.Activate();

    ЛистExcel.Activate();

    Excel.Visible = 1;

    Excel = «»;

КонецПроцедуры    //    ДействияФормыОткрытьВExcel()

  

hhhh

20 — 17.02.19 — 09:50

(17) здесь уберите HTML

      ДокументРезультат.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.HTML);

давайте эти эксперименты на потом.

  

Mikhail Volkov

21 — 18.02.19 — 06:14

А типовых конфигурациях: УПП, КА1, КА2 есть подобные функции открытия в MS Excel табличного документа или отчета (не использую)? Чтобы понять: эта проблема чисто Альфа-Авто, или безопасности MS Excel 2010…

  

Mikhail Volkov

22 — 18.02.19 — 16:55

Внес изменения в (19):

// Процедура открывает в MS Excel табличный документ или сводную таблицу

Процедура ДействияФормыОткрытьВExcel(Кнопка)

    Попытка

        Excel = Новый COMОбъект(«Excel.Application»);

    Исключение

        Сообщить(«ОШИБКА! Приложение MS Excel отсутствует или недостаточно прав доступа!

                 |    — » + ОписаниеОшибки(), СтатусСообщения.ОченьВажное);

        Возврат;

    КонецПопытки;

    // Откроем табличный документ

    ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.XLS);

    ОшибкаОткрытия = Ложь;    //+МВ 18.02.2019

    Попытка

        Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

    Исключение

        Сообщить(«Ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                 |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

        ОшибкаОткрытия = Истина;

    КонецПопытки;    //-МВ

    tmpBook = Excel.Workbooks.Item(Excel.Workbooks.Count);

    КнигаExcel = Excel.Workbooks.Add();

    КнигаExcel.Colors = tmpBook.Colors;

    tmpBook.Sheets(1).Copy(КнигаExcel.WorkSheets(1));

    ЛистExcel = КнигаExcel.WorkSheets.Item(1);

    //tmpBook.Sheets(1).Cells.Copy(ЛистExcel.Cells);

    tmpBook.Close();

    //ЛистExcel.Name=ЭтаФорма.ОбъектПредставление;

    Если ЭлементыФормы.ТабличныйДокумент.ОриентацияСтраницы=ОриентацияСтраницы.Портрет Тогда

        ЛистExcel.PageSetup.Orientation = 1;

    Иначе

        ЛистExcel.PageSetup.Orientation = 2;

    КонецЕсли;

    ПолеСлева=ЭлементыФормы.ТабличныйДокумент.ПолеСлева/25.4;

    ПолеСправа=ЭлементыФормы.ТабличныйДокумент.ПолеСправа/25.4;

    ПолеСверху=ЭлементыФормы.ТабличныйДокумент.ПолеСверху/25.4;

    ПолеСнизу=ЭлементыФормы.ТабличныйДокумент.ПолеСнизу/25.4;

    ЛистExcel.PageSetup.LeftMargin = Excel.Application.InchesToPoints(ПолеСлева);

    ЛистExcel.PageSetup.RightMargin = Excel.Application.InchesToPoints(ПолеСправа);

    ЛистExcel.PageSetup.TopMargin = Excel.Application.InchesToPoints(ПолеСверху);

    ЛистExcel.PageSetup.BottomMargin = Excel.Application.InchesToPoints(ПолеСнизу);

    КнигаExcel.Activate();

    ЛистExcel.Activate();

    Excel.Visible = 1;

    Если ОшибкаОткрытия Тогда    //+МВ 18.02.2019

        Попытка

            Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

        Исключение

            Сообщить(«Повторная ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                     |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

            ЗапуститьПриложение(«explorer » + КаталогВременныхФайлов());

        КонецПопытки;

    КонецЕсли;    //-МВ

    Excel = «»;

КонецПроцедуры    //    ДействияФормыОткрытьВExcel()

Теперь открываются 2 Excel одинаковых файла: Книга1 и tmpxls [Режим совместимости]! При этом 1 ошибка: Ошибка открытия Excel файла: D:UsersmvAppDataLocalTemp2tmpxls.xls

    — {ОбщаяФорма.ПечатнаяФормаДокументов.Форма(46)}: Ошибка при вызове метода контекста (Open): Неизвестная ошибка

Получается, что при 1-й попытке файл tmpxls не готов к открытию (исполнению Excel.Workbooks.Open)? Когда его можно открывать, после какой команды?

  

AllJoke

23 — 18.02.19 — 17:23

Он у вас должен в исключение попасть.

  

AllJoke

24 — 18.02.19 — 17:23

Попытка

            Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

если это не работает, тогда в исключение

Исключение

            Сообщить(«Повторная ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                     |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

            ЗапуститьПриложение(«explorer » + КаталогВременныхФайлов());

  

AllJoke

25 — 18.02.19 — 17:25

Первый раз не получилось открыть, ну и пусть. Откроем второй раз. Зачем?

Попытка

        Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

    Исключение

        Сообщить(«Ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                 |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

        ОшибкаОткрытия = Истина;

    КонецПопытки;    //-МВ

………………..

Попытка

            Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

        Исключение

            Сообщить(«Повторная ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                     |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

            ЗапуститьПриложение(«explorer » + КаталогВременныхФайлов());

        КонецПопытки;

  

AllJoke

26 — 18.02.19 — 17:27

ОшибкаОткрытия = Ложь;    //+МВ 18.02.2019

    Попытка

        Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

    Исключение

        Сообщить(«Ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                 |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

        Excel = Неопределено;

        Возврат;//ОшибкаОткрытия = Истина;

    КонецПопытки;    //-МВ

И ещё надо глянуть запущены ли процессы Эксель на сервере. Возможно оин заняли ваш файл «tmpxls»

  

Mikhail Volkov

27 — 18.02.19 — 18:17

(24) При повторном открытии можно без попытки, открывается без проблем.

(25) Как зачем: при первой попытке tmpxls.xls еще не готов к открытию (я так понимаю). Открываем в конце функции… может можно раньше, но где?

(26) Открываю другой отчет, возникает ошибка: {ОбщаяФорма.ПечатнаяФормаДокументов.Форма(43)}: Ошибка при вызове метода контекста (Записать)

    ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.XLS);

по причине:

Ошибка совместного доступа к файлу ‘D:UsersmvAppDataLocalTemp2tmpxls.xls’. -2147287008(0x80030020): Ресурс занят.

Раньше такого не было, по несколько отчетов в Excel открывал. Не помню как назывались, может: Книга1, Книга2, Книга3… а не tmpxls.xls? Если tmpxls.xls с 1-м отчетом закрыть, то нет этой ошибки, открывается tmpxls.xls [Режим совместимости] и Книга2 со 2-м отчетом.

  

Mikhail Volkov

28 — 19.02.19 — 07:37

2 открытых файла: tmpxls.xls [Режим совместимости] и Книга1 не нужны. Нужен только Книга1. После ее создания следует команда: tmpBook.Close(); но она в моем случае не действует, поскольку команда Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»); в первой попытке не сработала. Решил ее вставить во 2-ю попытку:

    Если ОшибкаОткрытия Тогда    //+МВ 18.02.2019

        Попытка

            Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

            tmpBook.Close();    // Закрывает объект

        Исключение

            Сообщить(«Повторная ошибка открытия Excel файла: » + КаталогВременныхФайлов() + «tmpxls.xls

                     |    — » + ОписаниеОшибки(), СтатусСообщения.Внимание);

            ЗапуститьПриложение(«explorer » + КаталогВременныхФайлов());

        КонецПопытки;

    КонецЕсли;    //-МВ

Дало ошибку: Повторная ошибка открытия Excel файла: D:UsersmvAppDataLocalTemp2tmpxls.xls

    — {ОбщаяФорма.ПечатнаяФормаДокументов.Форма(87)}: Ошибка при вызове метода контекста (Close): Неизвестная ошибка

Как мне открыть Книга1 (не записана в файл) без файла tmpxls.xls?

  

Mikhail Volkov

29 — 19.02.19 — 11:31

(21) Перенес функцию (19) из Альфа-Авто в УПП/КА1, та же самая ошибка:

{ОбщийМодуль.УправлениеОтчетами.Модуль(1753)}: Ошибка при вызове метода контекста (Open)

    Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

по причине:

Неизвестная ошибка

Функция кривая или дело в Excel?

  

Mikhail Volkov

30 — 19.02.19 — 19:03

Функция кривая: после записи файла tmpxls.xls, и перед его открытием, нужно включать видимость:

    ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + «tmpxls.xls», ТипФайлаТабличногоДокумента.XLS);

    Excel.Visible = 1;    //+dvs 19.02.2019 д.б. в этом месте, иначе не работает.

    Excel.Workbooks.Open(КаталогВременныхФайлов() + «tmpxls.xls»);

  

Mikhail Volkov

31 — 04.03.19 — 15:17

Озадачили меня: хотят Excel и весь Microsoft Office заменить бесплатным Libre Office 6.4.1.1. Возможно, как к примеру будет выглядеть процедура ОткрытьВExcelТабличныйДокумент() в (17)?

  1. 20.12.2016, 13:59

    #1

    lilyapo вне форума


    Иногда оказывает помощь


    По умолчанию COM-объект и Excel

    Создаю COM-объект и пытаюсь открыть файл Excel:
    ex=Новый ComОбъект(«Excel.Application»);
    ex.WorkBooks.Open(Файл);
    Файл существует, COM-объект создается, но при открытии файла Excel выдается сообщение:

    Ошибка при вызове метода контекста (Open)
    ex.WorkBooks.Open(Файл);
    по причине:
    Неизвестная ошибка
    Сталкиваюсь с этим впервые, на других компах всю жизнь все работает, с любой платформой 8.3
    Если что-то с Excel, то что?


  2. 20.12.2016, 15:25

    #2

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: COM-объект и Excel

    Цитата Сообщение от lilyapo
    Посмотреть сообщение

    Создаю COM-объект и пытаюсь открыть файл Excel:
    ex=Новый ComОбъект(«Excel.Application»);
    ex.WorkBooks.Open(Файл);
    Файл существует, COM-объект создается, но при открытии файла Excel выдается сообщение:

    Ошибка при вызове метода контекста (Open)
    ex.WorkBooks.Open(Файл);
    по причине:
    Неизвестная ошибка
    Сталкиваюсь с этим впервые, на других компах всю жизнь все работает, с любой платформой 8.3
    Если что-то с Excel, то что?

    Ты открываешь Апликайшон — а как ты это открываешь (интерактивно или же на сервере)? Опять же у тебя какой эксель (32-х разрядный или же 64-х разрядный) и в каком контексте пытаешься открыть (в 32-х разрядном клиенте или же на стороне 64-х разрядного сервера)?


  3. 20.12.2016, 15:55

    #3

    lilyapo вне форума


    Иногда оказывает помощь


    По умолчанию Re: COM-объект и Excel

    Все очень просто.
    Файловая база.
    Excel 2010. Файл лежит на том же диске, что и база и открывающая его обработка.
    Никакого клиент-серверного режима нет.


  4. 20.12.2016, 16:31

    #4

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: COM-объект и Excel

    А попробуй «завернуть» в Попытку

    Что выдаст?

    Попытка
    Excel = Новый COMОбъект(«Excel.Application»);
    Excel.WorkBooks.Open(ИмяФайла);
    Состояние(«Обработка файла Microsoft Excel…»);
    Исключение
    Сообщить(«Ошибка при открытии файла с помощью Excel! Загрузка не будет произведена!»);
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;


  5. 20.12.2016, 17:04

    #5

    lilyapo вне форума


    Иногда оказывает помощь


    По умолчанию Re: COM-объект и Excel

    Все то же самое.
    Ошибка при вызове метода контекста (Open): Неизвестная ошибка
    ОписаниеОшибки()=»»


  6. 20.12.2016, 17:25

    #6

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: COM-объект и Excel

    [QUOTE=lilyapo;469920]Все то же самое.
    Ошибка при вызове метода контекста (Open): Неизвестная ошибка

    похоже у тебя проблема с com-ом. А у тебя Excel нормально в реестре зареген? Ты его видишь в com-объектах?

    Попробуй подключиться к открытому «ручками» экселю

    Как подключиться к запущенному Excel-евскому файлу в реальном времени, изменить его и даже не сохранять, а просто переключить окно на 1С и сразу же выгружать данные в табличную часть, лишь переключив окна

    Excel = ПолучитьCOMОбъект(, «Excel.Application»);
    При этом первый параметр нужно оставить пустым. В этом случае при этом подцепится тот файл экселя, который был открыт последним, даже если порядок переключения окон был таким:
    Excel1, Excel2, IE, Проводник, 1С (т.е. что-то и было открытым между 1с и экселевским файлом) — все равно откроется Excel2, потому что он был активен последним.


  7. Пользователь сказал cпасибо:


  8. 20.12.2016, 17:41

    #7

    lilyapo вне форума


    Иногда оказывает помощь


    По умолчанию Re: COM-объект и Excel

    Все получилось!
    Спасибо огромное, фантастика!:dance:


  9. 13.09.2018, 12:20

    #8

    KrisLis вне форума


    Гость форума


    По умолчанию Re: COM-объект и Excel

    Цитата Сообщение от lilyapo
    Посмотреть сообщение

    Все получилось!
    Спасибо огромное, фантастика!:dance:

    Пожалуйста. расскажите, как решили проблему.
    Такая же ситуация на одном из компьютеров. Перепробовали все рекомендации из интернета. Ничего не помогает.


  10. 13.09.2018, 13:10

    #9

    lilyapo вне форума


    Иногда оказывает помощь


    По умолчанию Re: COM-объект и Excel

    Попробуй подключиться к открытому «ручками» экселю

    Как подключиться к запущенному Excel-евскому файлу в реальном времени, изменить его и даже не сохранять, а просто переключить окно на 1С и сразу же выгружать данные в табличную часть, лишь переключив окна

    Excel = ПолучитьCOMОбъект(, «Excel.Application»);
    При этом первый параметр нужно оставить пустым. В этом случае при этом подцепится тот файл экселя, который был открыт последним, даже если порядок переключения окон был таким:
    Excel1, Excel2, IE, Проводник, 1С (т.е. что-то и было открытым между 1с и экселевским файлом) — все равно откроется Excel2, потому что он был активен последним.
    Так я справилась с проблемой


Nikoly
16.07.2011 15:31 Прочитано: 21635

При работе на сервере, регламентного задания, обработка открывает через Excel = Новый COMОбъект(«Excel.Application»); Excel.Application.Workbooks.Open(ИмяФайла) документ, мне выдается ошибка:
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘C:1СНовыйДокумент.xls’. Это может быть вызвано одной из следующих причин.
• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.
Если запускаю обработку не в регламентном задании, то все выполняется без ошибок. Подскажите что это за ошибка и как мне читать данные из Excel в регламентном задании?


Изменено 16.07.11 15:32:46 по причине: Другая категория

Yandex
Возможно, вас также заинтересует

Реклама на портале

Nikoly
19.07.2011 18:27 Ответ № 1

http://forum.mista.ru/topic.php?id=522217
Создать папку C:WindowsSysWOW64configsystemprofileDesktop и C:WindowsSystem32configsystemprofileDesktop (в зависимости от разрядности вашей системы)

Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.

Встала задача. По электронной почте приходят письма с вложениями таблиц Excel. Получение почты производится встроенным клиентом 1С фоновым заданием. Необходимо было по расписанию несколько раз в день извлекать из новых писем вложения и загружать из них данные. Тут я столкнулся с проблемой — работать с Excel в фоновом задании ни через COM, ни через ADO не удавалось. Вываливалась ошибка. Нигде в сети четкого решения проблемы я не обнаружил. В итоге, собирая информацию по крупицам из разных источников (порой и вовсе не связанных с 1с) и нескольких дней мучений все же я решил данную проблему. Ниже я опишу свое решение, чтобы помочь таким же, как я )

Начну свой рассказ.

Попытка подключиться к Excel через COM объект

ExcelApp = Новый COMОбъект("Excel.Application");

приводило к ошибке «Интерфейс не поддерживается».

Если использовать ADO

CтрокаСоединения = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
ИмяФайла + ";Extended Properties=""Excel 8.0;HDR=NО;IMEX=1""";

СоединениеADO = Новый COMОбъект("ADODB.Connection");
СоединениеADO.ConnectionString = СтрокаСоединения;
СоединениеADO.Open();

то возникала ошибка «указанный поставщик не найден».

Сразу оговорюсь, что Microsoft Office на сервере был установлен и при обычном запуске обработки (не в фоновом задании) все проходило на ура.

Так как фоновые задания выполняются от имени пользователя, под которым работает сервер 1С:Предприятие (обычно это USR1CV82), то возникло логичное предположение, то у этого пользователя не достаточно прав. Для эксперимента этому пользователю были выданы права администратора и фоновое задание завершилось успешно. Однако, это был не вариант. Требовались минимально возможные права и я окунулся в мир поиска информации в глобальной сети.

Итак. Первое что удалось выяснить, это то, что пользователю USR1CV82 необходимо дать права на запуск DCOM Microsoft Excel Application (прошу прошения, могу путаться в понятиях, но смысл, что делать,  думаю, будет понятен).

Для этого необходимо:

1. Нажать кнопку Пуск и выбрать Панель управления.

2. Дважды щелкнуть значок Администрирование и выбрать пункт Службы компонентов.

3. В левой панели окна «Службы компонентов» дважды щелкнуть пункт Службы компонентов, дважды щелкнуть пункт Компьютеры и выбрать Мой компьютер.

4. Выбрать папку Настройка DCOM.

5. В окне сведений найти объект Microsoft Excel Application, щелкнуть его правой кнопкой и выбрать пункт Свойства (здесь есть подводный камень, с которым я довольно долго промучался — если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office).

6. Открыть вкладку Безопасность.

7. В разделе Разрешения на запуск выбрать пункт Настроить и нажать кнопку Изменить.

8. Добавить пользователя USR1CV82.

Источник: http://technet.microsoft.com/ru-ru/library/cc778126(WS.10).aspx

Ниже поясняющие скриншоты.

Однако, после произведенных описанных выше настроек фоновое задание так и не заработало.

При работе с COM объектом экземляр Excel успешно создавался, но открыть файл не получалось

ExcelApp = Новый COMОбъект("Excel.Application");
ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла); // ОШИБКА!

выводилось сообщение об ошибке

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «C:xls_test est.xls». Это может быть вызвано одной из следующих причин.

• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

Попытки подключиться через ADO выдавало все тоже сообщение об отсутствии поставщика.

Поиски в просторах сети были продолжены и решение таки было найдено:

Необходимо создать папку

  • для Windows Server x64

    C:WindowsSysWOW64configsystemprofileDesktop
     

  • для Windows Server x86

    C:WindowsSystem32configsystemprofileDesktop

Данное расположение папок указано для Office 2007. Для Office 2010 не зависимо от разрядности платформы необходимо создавать папку C:WindowsSystem32configsystemprofileDesktop (данный факт так же потратил не мало моего времени). В общем, если создали папку, а ошибки не исчезли, создайте вторую. Так же необходимо дать права на созданную папку пользователю USR1CV82. Практика показала, что достаточно прав, выдаваемых системой по умолчанию.

Источник: http://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64

После проделанных всех настроек на тестовом сервере фоновое задание наконец то прошло успешно.

Однако на рабочем сервере при подключение к Excel через COM меня ждало фиаско — задание просто зависало и завершить его можно было только перезапуском сервера 1С:Предприятия. Зависало в момент открытия файла (ФайлExcel = ExcelApp.Workbooks.Open(ИмяФайла);). Я так предполагаю, что при открытии Excel открывает какое-нибудь окно и ждет ответа пользователя. Но проверить не удалось, так как доступа к рабочему серверу у меня не было и все настройки по моей просьбе на нем производил админ.

В итоге все взелетело с использованием ADO и успешно работает.

Надеюсь, данная статья поможет кому-нибудь съэкономить время при реализации подобных задач.

p.s. Ну и забыл упомянуть, что у пользователя USR1CV82, естественно, должны быть права на обрабатываемые файлы Excel.

Решение данной проблемы. Дело действительно оказалось в настройках безопасности Excel.

Файл->Параметры->Центр управления безопасностью->Параметры центра упраления безопасностью. Выбираете пункт «Надежные расположения» и добавляете папку, куда 1с-кой пишутся темповские файлы экселя (в конфигураторе; КаталогВременныхФайлов() -> «C:Temp»).

Однако тут возникла 2-я проблема. Данную папку Excel ни в какую не захотел добавлять в доверенные (не поленился и проверил, что проблема именно в данной настройке — в коде жестко поменял КаталогВременныхФайлов() на тестовую «D:Temp» + прописал ее в доверенные (Excel дал добавить); сформированный Excel файл без ошибок вывелся в АА5 (~4500 строк)).

2-я проблема оказалась более серьезной. Как я понял, Excel считает темповские файлы в принципе не «заслуживающими» доверия (на системном уровне). Лечится это правками соответствующих веток реестра. Но при большом количестве пользователей (100 и более) — не наш вариант.

В итоге пришел к решению проблемы корректировкой кода, причем есть 2 варианта:
изменить папку выгрузки (см. вышеописанное)

Код
// -->
//ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + "tmpxls.xls", ТипФайлаТабличногоДокумента.XLS);
//Excel.Workbooks.Open(КаталогВременныхФайлов() + "tmpxls.xls");
КаталогВременныхФайлов = "D:Temp";
ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов + "tmpxls.xls", ТипФайлаТабличногоДокумента.XLS);
Excel.Workbooks.Open(КаталогВременныхФайлов + "tmpxls.xls");
// <--

или формат формируемых файлов (с «новыми» расширениями проблема не возникает)

Код
// -->
//ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов() + "tmpxls.xls", ТипФайлаТабличногоДокумента.XLS);
//Excel.Workbooks.Open(КаталогВременныхФайлов() + "tmpxls.xls");
ЭлементыФормы.ТабличныйДокумент.Записать(КаталогВременныхФайлов + "tmpxls.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Excel.Workbooks.Open(КаталогВременныхФайлов + "tmpxls.xlsx");
// <--

P.S. Считаю данную проблему достаточной для обращения к разработчикам и внесения ими доработок, т.к. ПП эволюционируют (2003, 2007, 2010, 2013, 2016) и раз предусмотрена интеграция, должно быть и предусмотрена работа с различными версиями ПП (например анализ ПП и формирования расширения файла в зависимости от этого).

P.S.S. Тем более на форуме поддержки Microsoft, касательно данной проблемы, посоветовали обращаться к разработчикам сторонних ПП, чтобы они учитывали все эти нюансы (т.е. опять возвращаемся к разработчикам АА).

Изменено: Алексей Коломыйченко11.03.2016 17:46:35

  1. Доброе время суток.
    Проблема заключается в следующем внешняя обработка загрузки из Эксель на личном компьютере работает нормально, но на РДП выдает ошибку «ошибка при вызове метода контекста (open)» там и там база файловая.Переделал все что нашел в инете
    — создал папку C:WindowsSysWOW64configsystemprofileDesktop ;
    — Настройки DCOM добавил пользователя;
    — И проделал «А решается это так:
    на сервере убиваем excel (taskkill /im excel.exe /f)
    открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
    в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
    справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем «Текущий пользователь», ОК.
    Готово»
    И все равно выскакиваю по ошибке.
    Есть у кого то предложение что можно сделать еще.

  2. Online

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204

    покпжите текст ошибки полностью.
    из всего там нужно только последнее действие.

    что будет, если интерактивно запустить эксель и открыть этот же файл?

  3. {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(35)}: Ошибка при вызове метода контекста (Open)
    КНИГА = Excel.WorkBooks.Open(ИмяФайла);
    по причине:
    Неизвестная ошибка

  4. Запустил интерактивно и все равно ошибка
    Опечатки нет пере набрал Open раз 10

  5. Online

    nomad_irk
    Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.889
    Симпатии:
    1.029
    Баллы:
    204

    при интерактивном открытии файла, что говорит?

  6. Доброго,
    Клиент какой запускается на RDP, 32/64 бит ?

  7. Добрый день.При интерактивном открытии ничего не пишет.
    RDP клиент запускается 64 и офис 64

  8. Похожая проблема вылечилась использованием 32 битного клиента (мы можем это себе позволить),
    еще, как вариант, я делал через формирование файла на сервере и передачу его на клиента
    С.П.- : «ПоместитьВоВременноеХранилище», «ПолучитьФайлы», «ОписаниеПередаваемогоФайла»
    1.На сервере получаю макет, передаю его на клиента через «ПоместитьВоВременноеХранилище»/»ПолучитьФайлы»
    2. На клиенте формируется документ через COM : «Новый COMОбъект(«Word.Application»)»
    3. На клиенте заполняется макет, тем или иным способом

  9. Offline

    ExtreMe
    Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    89
    Симпатии:
    8
    Баллы:
    29

    мой набор: win8.1 64x, Excel 2016 64х, 1c 8.3.13.1513 64х и текст обработки

        Путь    = Объект.ИмяФайла; // тип Строка
    
        Попытка
            ОбъектExcel = Новый COMОбъект("Excel.Application");
        Исключение
            Возврат "Ошибка открытия MS Excel";
        КонецПопытки;
    
        Попытка
            ОбъектExcel.WorkBooks.Open(Путь);
        Исключение
            ОбъектExcel.DisplayAlerts = 0;
            ОбъектExcel.Quit();
            ОбъектExcel.DisplayAlerts = 1;
            ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
            Возврат ОписаниеОшибки;
        КонецПопытки;
    

    проверил Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM->Microsoft Excel Application->Свойства->Удостоверение
    Выбран «Текущий пользователь»

    Создал папку Desktop по обоим путям C:WindowsSysWOW64configsystemprofileDesktop и C:WindowsSystem32configsystemprofileDesktop

    И хренасдва. всё равно выдаёт ошибку на стройке ОбъектExcel.WorkBooks.Open(Путь); и уходит в исключение :(

    {ВнешняяОбработка.ЗагрузкаИзExcel.Форма.Форма.Форма(53)}: Ошибка при вызове метода контекста (Open)
            ОбъектExcel.WorkBooks.Open(Путь);
    по причине:
    Неизвестная ошибка
    

    — Объединение сообщений, 17 янв 2019

    попробовал под 1c 8.3.13.1513 86х, то же самое
    после каждого запуска обработки в диспетчере остаётся висеть процесс Excel’я, я его каждый раз завершаю

    Последнее редактирование: 17 янв 2019

  10. Offline

    ExtreMe
    Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    89
    Симпатии:
    8
    Баллы:
    29

    одинаковая ситуация с тонким и толстым клиентом

  11. Offline

    ExtreMe
    Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    89
    Симпатии:
    8
    Баллы:
    29

    пока решение нашёл в таком варианте:
    открыть файл Excel
    сделать поправки в коде

        Путь    = Объект.ИмяФайла; 
       
        Попытка
            //ОбъектExcel = Новый COMОбъект("Excel.Application");
            ОбъектExcel = ПолучитьCOMОбъект(, "Excel.Application");
        Исключение
            ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
            Возврат ОписаниеОшибки;
        КонецПопытки;
       
        //Попытка
        //    ОбъектExcel.WorkBooks.Open(Путь);
        //Исключение
        //    ОбъектExcel.DisplayAlerts = 0; 
        //    ОбъектExcel.Quit();
        //    ОбъектExcel.DisplayAlerts = 1;
        //    ОписаниеОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
        //    Возврат ОписаниеОшибки;
        //КонецПопытки;
    

    так открытый файл подхватываться и нормально все работает, но хотелось ты без этих танцев с бубном…

    — Объединение сообщений, 17 янв 2019

    не совсем понял настройки безопасности
    Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM->Microsoft Excel Application->Свойства->Безопасность
    добавляя там пользователя, у меня то проходило чтение то нет
    стабильной работы обработки при первом варианте кода не дало

    Последнее редактирование: 17 янв 2019

  12. Offline

    ExtreMe
    Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    89
    Симпатии:
    8
    Баллы:
    29

    Последнее редактирование: 20 янв 2019

  13. Offline

    evgkup

    Регистрация:
    9 авг 2019
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1

    Была аналогичная проблема на сервере
    Помогло следующее (отображение открывающегося приложения excel)
    Попытка
    лпИмяФайла = «c:tmp1.xls»;
    лпExcel = Новый COMОбъект(«Excel.Application»);
    лпExcel.Visible = 1;
    лпExcel.DisplayAlerts = 0;
    лпExcel.WorkBooks.Open(лпИмяФайла);
    Исключение
    лпExcel.Quit();
    Сообщить(ОписаниеОшибки());
    Возврат;
    КонецПопытки;
    …набор действий

    Последнее редактирование: 9 авг 2019

Произошла исключительная ситуация (Microsoft Office Excel): Невозможно получить свойство Open класса Workbooks

При разработке в 1С, при попытке выполнить открытие COM-объекта Microsoft Excel на серверной базе данных 1С появляется ошибка «Произошла исключительная ситуация (Microsoft Office Excel): Невозможно получить свойство Open класса Workbooks».

Запуск обработки, вызвавшей данную ошибку, производится на серверной операционной системе Microsoft Windows 2012. Также возможна при запуске на ОС Windows 2008 Server. Права пользователя полные. Причем, запуск на операционной системе не относящейся к семейству серверных происходит без возникновения исключительной ситуации.

Сообщить(«Выгрузка в файл Microsoft Excel…»);

Путь= КаталогВременныхФайлов() + «FILENAME.xls»;

Файл= Новый Файл(Путь);

Если Файл.Существует() = 0 Тогда

ТабДокумент = Новый ТабличныйДокумент;

ТабДокумент.Записать(Путь, ТипФайлаТабличногоДокумента.XLS);

КонецЕсли;

Попытка

ExcelПриложение = Новый COMОбъект(«Excel.Application»);

Исключение

Сообщить(«Ошибка при загрузке Microsoft Excel.» + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);

Возврат;

КонецПопытки;

ExcelФайл = ExcelПриложение.WorkBooks.Open(Путь);

ExcelЛист = ExcelФайл.Worksheets(1);

Возникновение ошибки происходит на предпоследней строке кода.

Решение для устранения исключительной ситуации:

Для нормальной работы MS Office, папка «Desktop» должна находиться в каталоге «systemprofile» системного каталога ОС. Причем, Windows 2003 имеет в своем составе такие папки.

Поэтому необходимо их создать в каталоге «Windows» операционной системы.

— для Windows 2008 Server x64:

C:WindowsSysWOW64configsystemprofileDesktop

— для Windows 2008 Server x86:

C:WindowsSystem32configsystemprofileDesktop

Оцените статью:

Загрузка…

Если Вы заметили ошибку, то выделите ее мышью и нажмите Ctrl+Enter

Ошибки при открытии книги Microsoft Excel могут возникнуть при повреждении формата или тела документа, при различных неполадках как в работе самого приложения, так и операционной системы Windows.

Зачастую, ошибка при открытии файла возникает в случае несовместимости исходного файла и версии программного обеспечения пользователя. При таком случае можно прибегнуть либо к открытию исходного файла на другом компьютере, либо обновить версию пакета Microsoft.

Формат файлов также немало важен. Более старые версии программного обеспечения Excel имели формат «.xls». Начиная с 2007 года этот формат изменился на «.xlsx». Это было сделано для уменьшения размеров файлов путем сжатия данных.

Чтобы избежать ошибки открытия достаточно скачать специальный официальный патч с домашней страницы Microsoft и установить его на компьютер.

В случае, если пользователю выдается сообщение «Ошибка при направлении команды приложению» необходимо изменить или даже восстановить настройки параметров самого приложения, которые изменились при сбое программы, либо случайно пользователем.

При получении данной ошибки пользователь не может работать с исходными данными, но имеет возможность изменить параметры открытия. Для этого нужно открыть меню «Файл» и перейти в раздел «Параметры».

В появившемся окне параметров нужно найти раздел «Дополнительно» — «Общие». В этом поле напротив параметры «Игнорировать DDE-запросы от других приложений» не должно стоять галочки». Если таковая стоит, ее следует убрать.

Если при попытке открыть книгу Excel операционная система запускает другие приложения, но не Microsoft Excel, значит изменились параметры сопоставлений. То есть операционная система Windows для открытия файлов формата Excel открывает другое приложение.

Исправить это можно путем изменения сопоставлений. Для этого откроем меню «Пуск» и перейдем в раздел «Панель управления».

В настройках параметров открываем раздел «Программы» — «Программы по умолчанию» и нажимаем на пункт «Назначение программы для открытия файлов этого типа».

В списке форматов необходимо выбрать все форматы, которые относятся к Excel и в случае, если напротив них стоит не программное обеспечение Microsoft, его следует указать.

Также ошибки при открытии могут возникнуть при некорректной работе надстроек. В этом случае необходимо открыть окно надстроек. Перейдем во вкладку «Файл» и здесь в раздел «Надстройки». В пункте «Управление» выбираем «Надстройки СОМ».

Отключаем все надстройки и применяем процедуру при полном или частичном отключении каждой из надстроек. Это позволит найти поврежденную и восстановить ее, в случае необходимости.

Ошибки при открытии могут возникнуть при повреждении самого файла. В таком случае попробуем восстановить исходный файл и все его содержимое. Для этого откроем меню «Файл» — «Открыть».

В появившемся меню открытии документов находим исходный файл и нажимаем на дополнительные функции открытия возле кнопки «Открыть» в виде треугольник, после чего выбираем функцию «Открыть и восстановить».

Данная функция запустит процедуру восстановления и извлечения данных, если таковое необходимо при ошибке восстановления.

При открытии файла с расширением .xls (.xlsx), вы можете увидеть уведомление «Ошибка при направлении команды приложению» Excel 2007. Что делать в таком случае, узнайте в рамках данной публикации.

Устранение

Причины данной ошибки могут быть самые различные. Поэтому не будем вдаваться в подробности, почему появилась ошибка и проделаем поочередно способы ее устранения.

Отключение функции «Игнорировать DDE запросы»

В первую очередь попробуйте отключить данную функцию в параметрах Excel:

  1. Откройте приложение, нажмите «Файл».
  2. Перейдите в раздел «Параметры».
  3. Откройте вкладку «Дополнительно» → в разделе «Общее» снимите галочку с «Игнорировать DDE-запросы от других приложений» и нажмите «OK».
  4. Закройте Excel и попробуйте открыть нужный вам документ.

Открытие xls с помощью Excel по умолчанию

Присвоем файлам с расширениями .xls (.xlsx) программу, которая будет их открывать по умолчанию:

  1. Откройте «Выполнить» (сочетание клавиш Win+R) и выполните команду
  2. В открывшейся «Панели управления» сделайте «Просмотр: Крупные (или мелкие значки)» и откройте «Программы по умолчанию».
  3. Выберите пункт «Сопоставление типов файлов или протоколов с конкретными программами».
  4. Ожидайте, пока загрузятся все расширения.
  5. Найдите расширения .xls и .xlsx, выделите их и нажмите «Изменить программу».
  6. Выберите Excel в качестве программы, которая будет открывать файлы данного расширения по умолчанию. Нажмите «ОК».

Выделите Excel.exe и нажмите «Открыть».

Установка полного пакета обновлений

Ошибка возможна из-за багов, которые уже исправлены в новых патчах Microsoft Office. Если вы не обновляли ваш софт после установки на ПК, запустите Центр Обновления Windows и нажмите «проверку наличия обновлений». В случае наличия обновлений, вы можете установить их, перезагрузить компьютер и проверить наличие ошибки.

Этот пункт выполнять не обязательно, но желательно. Если вы полностью отключили обновление системы по собственным причинам, можете попробовать другие варианты устранения ошибки.

Отключение аппаратного ускорения

Данный способ поможет временно решить ошибку при направлении команды приложению Excel:

  1. Откройте программу Word или PowerPoint Microsoft Office.
  2. Выберите «Файл» → «Параметры».
  3. Перейдите в раздел «Дополнительно», в раздел «Экран».
  4. Установите галочку напротив «Отключить аппаратное ускорение обработки изображения» и нажмите «ОК».

Проверяйте работоспособность файла.

Полная переустановка Microsoft Office

Если из перечисленных способов ни один не справился с проблемой, попробуйте переустановить MS Office. Для полного удаления:

  • Перезагрузите ПК и установите Excel и другие программы заново.
  • Всем добрый вечер, сегодня хочу рассказать, что надо делать если при открытии exсel документа открывается только оболочка, а сам документ не открывается(хотя если перетащить этот самый фаил в открытую оболочку, то документ открывается моментально).

    Данная проблема решается следующим образом:

    В 2003 офисе:

    1. Открываем Exсel
    2. Заходим Меню Сервис->Параметры->-Общие
    3. И в строке Игнорировать DDE -запросу от других приложений убираем галочку
    4. Вот и все.

    В 2010 офисе:

    1. Открываем Exсel
    2. Заходим в меню файл->Параметры->Дополнительно-> Общее (В самом низу)
    3. И в строке Игнорировать DDE -запросу от других приложений убираем галочку
    4. Вот и все

    Доп поисковые запросы: файл excel не открывается, файл excel открывается пустым, почему не открывается файл excel, не открываются файлы excel 2007, не открывается файл excel 2010, excel перестал открываться файл, не открывается файл excel 2003, не открывается файл excel xlsx, не открываются файлы word excel,

    Многие пользователи пакета Microsoft Office сталкиваются с проблемами открытия и сохранения файлов. Сегодня речь пойдет о том, почему не открывается файл Excel и как это можно исправить. Причина может заключаться в чем угодно – от поврежденной книги до сбоев в операционной системе. Давайте разберем по порядку.

    Проблема совместимости

    Если вы пытаетесь открыть документ, но программа выдает ошибку, попробуйте открыть его в более поздней версии Office. Дело в том, что начиная с 2007 года, был добавлен новый формат xsls – расширенный. И Excel, выпущенный до этого времени, просто не откроет книгу. Внимательно посмотрите на расширение файла и на версию вашего офисного пакета. Они могут быть несовместимы.

    Чтобы исправить эту ситуацию, вам необходимо сохранить книгу в более старом формате. Откройте документ в той программе, где вы его создавали. Если кто-то передал файл со стороны, найдите компьютер с новой версией или попросите, чтобы его пересохранили для вас. Если проблему приходится решать самостоятельно, нажмите значок главного меню в левом верхнем углу и выберите «Сохранить как». Внизу окна вы увидите поле «Тип файла». Выберите в нем «Книга Excel 97-2003». Далее вы сможете открывать этот файл в любой версии Office.

    Самый лучший вариант – установить последнюю версию Microsoft Office. В каждом следующем релизе поддерживаются все старые форматы.

    Настройка параметров

    Довольно часто можно наблюдать сообщение «Ошибка при направлении команды приложению». В этом случае при открытии файла Excel открывается пустое окно. Это некритично, открыть можно через соответствующий пункт в главном меню или просто еще раз дважды щелкнув на документе в папке. Можно открыть Excel и перетащить на него книгу из проводника. Но если вы часто работаете с документами, то эта ошибка будет неприятно донимать, отнимая время.

    Чтобы избавиться от предупреждения, проделайте следующее:

    1. Нажмите кнопку Файл.
    2. В правом поле внизу щелкните «Параметры Excel».
    3. Дальше нажимайте «Дополнительно и пролистайте вниз и найдите пункт «Игнорировать DDE-запросы от других приложений».
    4. Снимите с него галочку и нажмите «Ок».

    Ошибка сопоставлений

    Операционная система настроена на «запоминание» программ для открытия файлов разных типов. Это называется «сопоставление». Когда вы пытаетесь открыть файл с незнакомым расширением, вы должны указать, какую программу использовать. Информация об этом записывается.
    Если в какой-то момент сопоставление для книг Excel было сбито, ОС просто не поймет, в какой программе их следует открывать. Чтобы исправить ситуацию, выполните следующее:

    1. Зайдите в Параметры. Легче всего сделать это через поиск, просто напечатав запрос. Для Windows 7 и более ранних версий воспользуйтесь кнопкой «Пуск».
    2. Перейдите в раздел «Приложения».
    3. Далее щелкайте по ссылке «Приложения по умолчанию».
    4. Нажмите «Выбор стандартных приложений для типов файлов » для Windows 10 и «Назначение программы для открытия файлов этого типа» для 7-ки.
    5. В конце списка найдите расширения «xsl», «xsls», «xslt», «xsltm» и т.д. Все должны начинаться с xsl.
    6. Проверьте, с помощью какой программы они открываются. Если настроено неверно, нажмите на приложение или «плюс» и в стандартном окне выбора приложений выберите Excel. Это надо проделать для каждого расширения отдельно.
    7. Если в списке выбора Excel не появился, то нажимайте кнопку «Обзор».
    8. В папке Program files ищите папку «Microsoft office».
    9. Далее заходите в папку «Office№», где № — это номер вашей версии. Например, 12 или 15.
    10. Вам нужен исполняемый файл EXCEL.exe. Иногда он помечается как «приложение».
    11. Дважды щелкайте по ярлыку, и сопоставление будет создано.

    Проблема с надстройками

    Excel имеет множество надстроек, которые существенно расширяют возможности программы. Их можно отключать за ненадобностью и включать по необходимости. Иногда расширения конфликтуют между собой. В таком случае, следует отключить лишнее.
    Если возникла проблема открытия файла Excel, отключите надстройку COM. Для этого зайдите в параметры, как было описано выше, и выберите раздел «Надстройки».

    Внизу вы увидите выпадающий список «Управление». Выберите в нем пункт «Надстройки COM» и нажмите кнопку «Перейти…». В окне появится перечень расширений. Снимите галочки со всех элементов.


    Если документ открылся, значит, проблема была в них. Далее пробуйте включать каждую по отдельности и вы сможете определить, в каком пункте заключалась причина. Если же книга не открывается с помощью двойного нажатия, значит, надстройки тут не виноваты. Верните галочки на место.

    Повреждение файла

    При записи документа на флешку или при некорректном сохранении, книга могла быть повреждена. В таком случае попытайтесь восстановить. Чаще всего Excel выводит соответствующее окно с предложением нажать кнопку «Восстановить». Если этого не произошло, выполните следующие действия:

    • Откройте программу и нажмите кнопку главного меню или меню «Файл» (зависит от версии).
    • Перейдите в каталог с файлом и нажмите на имя файла в окне.
    • Внизу найдите слово «Открыть». Щелкните по треугольнику около него и выберите «Открыть и восстановить».
    • Нажмите «Восстановить».
    • Если это не помогло, то вернитесь к окну путем повторного выполнения вышеуказанных действий, и нажмите «Извлечь данные».
    • Далее выберите «Преобразовать формулы в значения» (все формулы пропадут) или «Восстановить формулы».
    • После этого возможно данные будут восстановлены. Сохраните документ.

    Вирусы

    Иногда вредоносные программы могут повредить сопоставления или сам пакет приложений Office. В таком случае, запустите антивирус и просканируйте весь жесткий диск. Если после этого Excel все еще не запускается, то либо откатите системы к точке восстановления, либо переустановите программу.
    Если вы подключены к Интернет, и у вас лицензионное ПО, то можно попробовать восстановить приложение. Для этого необходимо:

    • Нажать правую кнопку мыши на кнопке «Пуск» и выбрать «Приложения и возможности».

    • Найти в списке Microsoft Office и нажать кнопку «Изменить».

    • Разрешить выполнение операций и выбрать опцию «Восстановить».

    • Это приведет к обновлению приложения.

    Нестандартные файлы

    Со временем разработчики все больше усложняют пакет Office, добавляя новые возможности. Соответственно растет и число расширений, которые должны создавать и открываться в Excel. В частности, в версии 2007 года появился формат XLSM. Файлы этого типа представляют собой большую таблицу с поддержкой макро-элементов. Следует выяснить, почему xlsm не открывается в Excel?

    • Старая версия. Обновите офисный пакет.
    • Сбой в учетной записи. Создайте новый аккаунт и попробуйте зайти под ним.
    • Проблема в реестре. Для вызова реестра нажмите Win и R и в окне введите regedit

    • Перейдите по ветке HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0 и удалите последнюю папку. У вас цифры могут быть другими – зависит от версии. Например, 2007 – это 12, 2010 – 14, 2013 – 14, 2016 – 16.

    Еще один формат – CSV. Он был создан для совместимости Excel и данных из WEB и сторонних приложений. Иногда файл csv в Excel открывается иероглифами. Здесь проблема заключается в кодировке. Сделайте следующее:

    1. Перейдите на вкладку «Данные» и выберите пункт «Из текста».
    2. В окне открытия выберите тип «Все файлы» и нажмите «Открыть».
    3. Появится окно, в котором можно установить кодировку. Чаще всего используется 1251 или Юникод. Попробуйте выбирать разные.

    Многооконный режим

    По умолчанию все книги Excel 2007 – 2013 открываются в одном окне. Вы можете изменить это, если работаете одновременно с несколькими документами. Более поздние версии уже открывают разные окна автоматически. Если ваш Office открывает книгу в одном и том же окне, зайдите через «Пуск» в главное меню и запустите еще один экземпляр программы. Теперь вы увидите на панели задач два ярлыка. Так их можно открыть сколько угодно.

    Если все проблемы устранены, прочитайте о том, как использовать горячие клавиши в Excel.

    Отличного Вам дня!

    Файл Excel не открывается? 9 исправлений, которые стоит попробовать

    У вас возникли проблемы с открытием файла в Microsoft Excel на вашем компьютере? Если это так, ваш файл может быть поврежден или может возникнуть проблема с вашим приложением Excel, системой Windows или Mac. Мы покажем вам, как обойти эту проблему, чтобы вы могли просматривать данные электронной таблицы.

    Хотя основной причиной, по которой вы не можете открыть файл Excel, может быть его повреждение, существуют и другие причины, такие как неправильное расширение файла, не отвечающее внешнее устройство, проблемная надстройка Excel и многое другое.

    1. Убедитесь, что вы используете Excel для открытия файла

    Если на вашем компьютере установлено несколько программ для работы с электронными таблицами, скорее всего, для запуска файла вы используете приложение, отличное от Excel.

    Вы можете исправить это, заставив свою систему запускать файл с помощью реального приложения Excel.

    • Запустите File Explorer или Finder на вашем компьютере.
    • Щелкните правой кнопкой мыши электронную таблицу и выберите Открыть с помощью > Excel.

    Если вы не найдете Excel в списке приложений, выберите Выбрать другое приложение, и вы увидите приложение.

    2. Снимите флажок «Динамический обмен данными (DDE)» в Excel.

    Известная причина вышеуказанной проблемы включает в себя включенную функцию DDE в Excel. Вы можете отключить эту опцию, чтобы посмотреть, решит ли это вашу проблему. Позже включить эту функцию, если вы хотите, легко.

    • Откройте Excel на своем компьютере и выберите «Параметры» слева.
    • Выберите «Дополнительно» на левой боковой панели.
    • Отключите параметр Игнорировать другие приложения, использующие динамический обмен данными (DDE) справа.

    • Выберите ОК в нижней части окна.
    • Попробуйте запустить файл с помощью Excel.

    3. Восстановите поврежденный файл Excel

    Microsoft Excel включает опцию, позволяющую исправить неисправные файлы, а затем открыть их с помощью приложения Excel. Этот вариант стоит использовать для решения вашей проблемы.

    • Запустите Excel, выберите «Открыть» слева и выберите «Обзор» в среднем столбце.
    • Откройте папку, содержащую файл Excel, щелкните файл один раз, выберите значок со стрелкой вниз рядом с кнопкой «Открыть» и выберите «Открыть и восстановить».

    • Разрешите Excel восстановить, а затем откройте файл.

    4. Убедитесь, что файл имеет правильное расширение

    Ваш файл электронной таблицы должен использовать расширение, поддерживаемое Excel, для запуска приложения. Ваш текущий файл может иметь неправильный формат файла, что вызывает проблемы в приложении.

    В большинстве электронных таблиц Excel используется формат файлов XLS или XLSX. Ваш также может быть файлом CSV, который Excel поддерживает открытие.

    Если это не относится к вашему файлу, измените расширение файла и посмотрите, решит ли это проблему.

    • Щелкните правой кнопкой мыши файл Excel и выберите «Переименовать».
    • Измените расширение файла на XLS или XLSX и нажмите Enter.

    • Запустите файл с помощью Excel.

    Если ваш файл не открывается после изменения расширения, запустите приложение, в котором вы создали свой файл, и используйте параметр «Сохранить как» или аналогичный параметр приложения, чтобы изменить формат вашего файла на XLS или XLSX.

    5. Скопируйте файл Excel из внешнего хранилища в локальное хранилище.

    Если вы пытаетесь запустить файл Excel, хранящийся на внешнем устройстве, например на USB-накопителе, соединение этого устройства с компьютером может не работать, что вызывает проблемы.

    В этом случае скопируйте файл с внешнего устройства на компьютер, а затем запустите локальную копию файла в приложении Excel. Это должно решить вашу проблему.

    6. Используйте безопасный режим Excel Office в Windows 10 или 11.

    Excel предлагает различные надстройки, которые помогут вам максимально эффективно использовать приложение. Иногда одна или несколько из этих надстроек работают со сбоями, вызывая проблемы с приложением и вашими файлами.

    В этом случае вы можете изолировать эти надстройки и запускать Excel только с самыми необходимыми файлами. Вы можете сделать это, открыв приложение в безопасном режиме Office. Обратите внимание, что этот метод работает только на ПК с Windows.

    • Запустите диалоговое окно «Выполнить» на вашем ПК, нажав Windows + R.
    • Введите в поле следующее и нажмите Enter: excel /safe

    • Выберите «Файл» в верхнем левом углу Excel.
    • Выберите «Открыть» слева и выберите «Обзор» в среднем столбце.

    • Откройте папку, содержащую ваш файл, выберите файл и нажмите «Открыть» в нижней части окна.

    7. Отключите аппаратное ускорение в Excel

    Когда вы сталкиваетесь с такими проблемами, как не открывающийся файл или сбой приложения, стоит отключить функцию аппаратного ускорения вашего приложения, чтобы решить вашу проблему. Это гарантирует, что ваше приложение не перенесет свои задачи на аппаратные компоненты вашего ПК.

    Вы можете снова включить эту функцию в любое время.

    • Запустите Excel и выберите «Параметры» слева.
    • Выберите «Дополнительно» на боковой панели слева.
    • Включите параметр «Отключить аппаратное ускорение графики» в разделе «Дисплей» справа.

    • Выберите ОК в нижней части окна.
    • Запустите файл с помощью Excel.

    8. Восстановите установку Microsoft Office

    Если ваш файл Excel по-прежнему не открывается, возможно, ваша установка Microsoft Office повреждена. Обычно это происходит, когда сторонняя программа, системная ошибка или вирус изменяют основные файлы приложения Office.

    Вы можете исправить это, используя встроенный инструмент восстановления Office на вашем компьютере с Windows.

    • Откройте Панель управления на вашем ПК.
    • Выберите Удалить программу в открывшемся окне.
    • Выберите установку Microsoft Office в списке и нажмите «Изменить» вверху.

    • Выберите «Да» в окне контроля учетных записей пользователей.
    • Выберите «Быстрое восстановление» и выберите «Восстановить».

    • Если ваше приложение Excel по-прежнему неисправно, выберите параметр «Восстановление в Интернете» и выберите «Восстановить».

    9. Откройте файл Excel в другом процессоре электронных таблиц.

    Если ваш файл Excel не открывается независимо от того, что вы делаете, используйте другую программу для работы с электронными таблицами, чтобы просмотреть файл. Как для Windows, так и для Mac доступно несколько приложений, отличных от Office, которые позволяют просматривать и редактировать файлы Excel.

    Вы можете использовать бесплатный офисный пакет, такой как Apache OpenOffice (Windows и Mac) или Apple Numbers (Mac), для редактирования электронных таблиц. Таким образом, вам не нужно ждать устранения проблемы, чтобы начать работу с вашими файлами.

    Открывайте проблемные файлы Excel на своем компьютере

    Существуют различные причины, по которым ваш файл Excel может не открываться на вашем компьютере. Однако, как только вы исправите эти проблемы с файлом, приложением и вашей системой, ваш файл запустится так, как должен, что позволит вам начать анализировать свои данные или выполнять другие задачи с электронными таблицами.

    Понравилась статья? Поделить с друзьями:
  • Ошибка открытия файла с настройками
  • Ошибка открытия файла 1с документооборот
  • Ошибка открытия устройства воспроизведения sprecord 3
  • Ошибка открытия устройства воспроизведения device not registered known
  • Ошибка открытия указанный путь не существует