Произошла исключительная ситуация microsoft excel приложению не удается получить доступ к файлу

   V_V_V

17.05.12 — 17:40

1С:Предприятие 8.2 (8.2.15.301), серверная, тонкий клиент, Excel 2010.

Пишу обработку, добавляющую несколько листов Экселя в некую заготовку (книга Экселя) листами целиком. Если выполнять на Клиенте — добавляет, сохраняет. При запуске на Сервере — процедура начинает ругаться еще на этапе открытия заготовки:

… Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «c:Excel1.xls»…

Сервер работает под пользователем USR1CV82. Пользователю в DCOM даны права на Эксель (само-собой, без них даже COMОбъект(«Excel.Application») не создавался), права локального Пользователя, на папку и файл тоже даны полные права. В чем может быть дело?

Кусок кода:

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

Йоксель.DisplayAlerts = False;

       
КнигаШаблон = Йоксель.Workbooks.Open(ФайлШаблон);

       
Если НЕ ПустаяСтрока(ФайлРезервовДляКлиента) Тогда

           
   ЛистРезервов = Йоксель.Workbooks.Open(ФайлРезервовДляКлиента);

   ЛистРезервов.Sheets(1).Copy(КнигаШаблон.Sheets(1));

   ЛистРезервов.Close();

   ЛистРезервов = «»;

           
КонецЕсли;

Гуглил. Выполнял все что находил — не работает…

   Axel2009

1 — 17.05.12 — 17:42

файл то где находится?

   V_V_V

2 — 17.05.12 — 17:44

Локально.

c:Excel1.xls

   Лоботряс

3 — 17.05.12 — 17:44

У файла вывод должен быть разрешен кажется…

   Лоботряс

4 — 17.05.12 — 17:45

Если на сервере с ним работать

   Axel2009

5 — 17.05.12 — 17:45

(2) круто. а код сервера откуда запускается?

   smaharbA

6 — 17.05.12 — 17:46

у сервера права как на файл так и на ком

   V_V_V

7 — 17.05.12 — 17:46

(3) Это где? В свойствах самого файла? На Клиенте добавляет без левых манипуляций…

   V_V_V

8 — 17.05.12 — 17:46

(5) На этой же машине

   Axel2009

9 — 17.05.12 — 17:47

(8) а если подумать?

   V_V_V

10 — 17.05.12 — 17:47

+(8) На моей машине есть и сервер 1С и SQL

   V_V_V

11 — 17.05.12 — 17:48

(9) Вот не думается. Чего и спрашиваю… :)

   Axel2009

12 — 17.05.12 — 17:49

(11) ну ты запиши файл текстовый и посмотри где он создастся

   V_V_V

13 — 17.05.12 — 17:50

(12) Создастся где-то C:UsersUSR1CV82AppDataLocalTemp

Только я открыть не могу, а не создать…

   V_V_V

14 — 17.05.12 — 17:59

Может я неправильно сформулировал… Если я выполняю вышеприведенный код &НаКлиенте — отрабатывает без вопросов. Если &НаСервере — валится ошибка.

   V_V_V

15 — 18.05.12 — 11:37

Ничего не понимаю. Уже не открываю файл-шаблон, а просто создаю новую книгу и уже в нее пытаюсь добавить листы, только что сформированные и записанные сервером 1C во временную папку — та же ошибка. По-идее все права на временные файлы у сервера 1С в этом случае точно есть:

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

Йоксель.DisplayAlerts = False;

       
КнигаШаблон = Йоксель.Workbooks.Add();

       
Если НЕ ПустаяСтрока(ФайлРезервовДляКлиента) Тогда

           
   ЛистРезервов = Йоксель.Workbooks.Open(ФайлРезервовДляКлиента);

   ЛистРезервов.Sheets(1).Copy(КнигаШаблон.Sheets(1));

   ЛистРезервов.Close();

   ЛистРезервов = «»;

           
КонецЕсли;

Ошибка:

Приложению Microsoft Excel не удается получить доступ к файлу «C:UsersUSR1CV82AppDataLocalTempreserve.xls»

   V_V_V

16 — 18.05.12 — 11:41

+(15) Имеется ввиду, что ругается уже на строку

ЛистРезервов = Йоксель.Workbooks.Open(ФайлРезервовДляКлиента);

   DEVIce

17 — 18.05.12 — 11:51

(14). У компа на котором сервер предприятия крутится есть доступ до этого файла?

   pumbaEO

18 — 18.05.12 — 11:54

код, как сохраняешь ФайлРезервовДляКлиента покажи.

   V_V_V

19 — 18.05.12 — 11:58

(17) Все выполняется на моей машине. В последнем варианте из (15) файл C:UsersUSR1CV82AppDataLocalTempreserve.xls формируется непосредственно самим сервером 1С аккурат перед добавлением в книгу.

(18) Да там кода-то — выборка, заполнение Табличного документа и сохранение этого Табличного документа в формате экселя:

ТаблицаДокументов.Записать(ФайлРезервовДляКлиента, ТипФайлаТабличногоДокумента.XLS);

   V_V_V

20 — 18.05.12 — 11:59

Повторюсь из (14) — Если я выполняю вышеприведенный код &НаКлиенте — отрабатывает без вопросов. Если &НаСервере — валится ошибка.

   pumbaEO

21 — 18.05.12 — 12:01

хотя бы раз excel от имени пользователя 1С запускал?

   V_V_V

22 — 18.05.12 — 12:01

+(21) Выполнять надо именно &НаСервере — это будет регламентное задание

   V_V_V

23 — 18.05.12 — 12:01

(21) Нет

   DEVIce

24 — 18.05.12 — 12:05

Запусти в отладчике и посмотри на момент открытия файла он реально есть?

   DEVIce

25 — 18.05.12 — 12:06

Т.е. перед тем как выполнится: ЛистРезервов = Йоксель.Workbooks.Open(ФайлРезервовДляКлиента);

существует ли C:UsersUSR1CV82AppDataLocalTempreserve.xls

   DEVIce

26 — 18.05.12 — 12:08

Ну и может файл только на чтение? В темпе он ведь не просто так создался.

   V_V_V

27 — 18.05.12 — 12:08

(25) Файл существует, данные в нем имеются, корректные. Открывается, редактируется и тд и тп…

   V_V_V

28 — 18.05.12 — 12:10

(26) Редактируется. Хотя это мне и не нужно в данном случае. А в темп — так я его сознательно туда загоняю, через КаталогВременныхФайлов()

   DEVIce

29 — 18.05.12 — 12:12

Да и все-таки запусти хоть раз от имени пользователя 1С Ексель интерактивно. Ибо Ексель при первом запуске требует настройки.

   pumbaEO

30 — 18.05.12 — 12:16

Если сервер 1С от своего имени запустишь, работает?

   V_V_V

31 — 18.05.12 — 12:17

(21) (29) Спасибо за наводку. Вот пытаюсь. Ругается: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен.

Хорошо, что нужно сделать еще с пользователем USR1CV82 чтоб он мог работать с Экселем? В DCOM права на Эксель даны, самому пользователю членство в группах Пользователи и Пользователи DCOM назначены.

   V_V_V

32 — 18.05.12 — 12:18

(30) Наверняка заработает — у меня админские права на локальную машину. Но надо запустить в режиме приближенном к боевому, как на сервере. Там я свои права давать не буду…

   pumbaEO

33 — 18.05.12 — 12:20

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

   V_V_V

34 — 18.05.12 — 12:28

(33) Пока я пользователя USR1CV82 не добавил в DCOM — вообще ругалось на  COMОбъект(«Excel.Application»). С рабочим столом работа и не предполагалась. Из того что я начитался, народу было достаточно добавления в DCOM прав пользователю на запуск Экселя.

   V_V_V

35 — 18.05.12 — 12:39

Кажется я упустил один момент — у меня 64-х битная Виндовс 7, Эксель 2010 тоже 64-х битный, а вот сервер 1С крутится 32-х битный. Это важно? Может в этом затыка?

   izekia

36 — 18.05.12 — 12:47

(35) да в этом проблема

   izekia

37 — 18.05.12 — 12:47

куча ссылок но не на этом форуме

   V_V_V

38 — 18.05.12 — 12:49

(37) А дай хоть что-то по этой теме. Уже и так читано-перечитано, прежде чем сюда писать, но может новенькое попадется…

   izekia

39 — 18.05.12 — 12:59

(38)честно? можно считать это сливом, но поищи в инете

не в плане 1с, но просто проблемы вызова через ком, от 32 бита в 64

если хочешь — напиши мне на почту завтра, я постараюсь ответить

izekia@gmail.com

  

V_V_V

40 — 18.05.12 — 13:04

(39) Хорошо, спасибо, гляну.

Ошибка работы 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)

Добрый день! Дайте права пользователю 1cv83 на Microsoft Excel Application в Службах компонент.

Нажмите на “Пуск/Start”-> “Панель управления/Control Panel”

Далее “АдминистрированиеAdministrative Tools”-> “Службы компонентов/Component Services”

Откройте папку “Службы компонентов/ Component Services” и выберите “Настройка DCOM/DCOM Config”

Среди служб выберите “Microsoft Excel Application” и откройте его свойсва, вкладку “Безопасность/Security” и в разделе “Разрешения на запуск и активацию/Launch and Activation Permissions” настроить разрешения – выбрать “Настроить/Customize” и нажать “Изменить/Edit”.

Добавьте пользователя 1cv83 и нажмите “Применить/Apply” в свойствах безопасности компоненты.

Заключительным этапам будет создание папки с соответствующими правами пользователю 1cv83

C:WindowsSystem32configsystemprofileDesktop – для Microsoft Office 2010

C:WindowsSysWOW64configsystemprofileDesktop – для Microsoft Office 2007 (windows server x64)

C:WindowsSystem32configsystemprofileDesktop – для Microsoft Office 2007 (windows server x86)

Желаем удачи и скорейшего решения проблемы!

  1. Приветствую.

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

    Excel = Новый COMОбъект("Excel.Application");
    Книга = Excel.WorkBooks.Open("D:DstOrder.xls");
    

    Чувствую, что дело тут в том, что при работе с клиента Excel запускается из-под пользователя в реальном сеансе, а в случае сервера — под пользователем хоть и с полными правами, но без запущенного сеанса.

    Сервер Windows Server 2008 R2 Standart. Service Pack 1
    Как это обойти?


  2. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    1) Файл D:DstOrder.xls действительно существует на сервере?
    2) У пользователя под которым запущен сервер есть право доступа к каталогу D:Dst?

  3. 1. Да, файл существует. Обработка при запуске на этом же сервере из-под клиента выполняется без проблем.
    2. Доступ есть. Пользователь — администратор. Пробовал файл в разные папки класть.

    — Объединение сообщений, 15 авг 2014

    Полный текст ошибки. Ошибка от имени Microsoft Excel, однако процесса EXCEL в диспетчере задач нет!

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

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

    — Объединение сообщений, 15 авг 2014

    8.3.4.496

    Последнее редактирование: 15 авг 2014

  4. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Т.е. сервер (ragent.exe и т.д.) стартует от имени Администратора? Или все же от USR1CV82 (не знаю как там по умолчанию под 8.3 пользователь называется).

  5. У меня пользователь USR1CV81 со старых времен. Он входит в группу Администраторы.

    Сейчас провел эксперимент. Зашел на сервер от имени этого пользователя и в клиенте запустил обработку — без проблем.

  6. Попробовал вместо COMОбъект использовать ПолучитьCOMОбъект. Вот результат

    Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147221021(0x800401E3): Операция недоступна


  7. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104


  8. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104


  9. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104


    likalim и Mark768 нравится это.
  10. Спасибо тебе, добрый человек. Сам бы не допер…


  11. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Да не за что.
    Не совсем я это, разум это коллективный.. :)

  12. Небольшое уточнение:
    При выборе «Текущий пользователь», обработка на сервере запускает Excel только в том случае, если на сервер выполнил вход кто-нибудь из пользователей.
    Если это условие не выполняется, то получаем ошибку:

    Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается

    На вкладке «Удостоверения» есть 3-й вариант запуска — указать конкретного пользователя и пароль.
    Я указал пользователя, от имени которого работает сервер 1С (USR1CV81).
    В таком варианте обработка запускает Excel при отсутствии работающих пользователей на сервере.
    Это меня устраивает.

    В моем случае не бывает работающих пользователей на сервере и тем более, запускающих Excel
    Могу предположить, что при запуске Excel любым пользователем (не USR1CV81) могут возникнуть проблемы.
    Например, Excel запускается и работает, однако при старте выдает «Невозможно использовать связывание и внедрение объектов».

  13. Приветствую.

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


  14. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Переустанавливать эксель пробовали ?

  15. Да, уже несколько раз и разные версии.
    Вычитал в сети, что если нет ветки явно, то нужно в реестре найти его наименование в виде кода. В реестре нашел, но его кода в Настройка DCOM тоже нет.


  16. Ardak

    Offline

    Ardak

    Регистрация:
    21 дек 2015
    Сообщения:
    1
    Симпатии:
    1
    Баллы:
    1

    Вдруг кому понадобится
    Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.


  17. limus80

    Offline

    limus80

    Регистрация:
    30 май 2013
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1

    важное как мне кажется дополнение
    ко всему вышесказанному надо добавить учетке права входа в качестве сервиса на компьютер
    без этого у меня не работало на W2K12R2


  18. Gucci76

    Offline

    Gucci76
    Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26

    Здравствуйте.
    У меня похожая проблема, но только с ВОРДом
    В файловом варианте я могу Новый COMОбъект(«Word.Application»), а в клиент-серверном нет.
    Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM тут НЕ нашел ворда (открывал через команду «mmc comexp.msc /32»).


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Содержание

  1. 1с произошла исключительная ситуация microsoft office excel нет доступа к файлу
  2. БП 8.3.5.1383 Ошибка COMОбъект(«Excel.Application»)
  3. Регламентное задание/ Ошибка открытия Excel
  4. Microsoft Excel не удается получить доступ
  5. Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу

1с произошла исключительная ситуация microsoft office excel нет доступа к файлу

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

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

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

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

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

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

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

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

Источник

БП 8.3.5.1383 Ошибка COMОбъект(«Excel.Application»)

Ексель = Новый COMОбъект(«Excel.Application»);
по причине:
-2147221005(0x800401F3): Недопустимая строка с указанием класса

(8) Создай (в блокноте) файл с расширением .vbs
Вставь туда

set xl = CreateObject(«Excel.Application»)
xl.Workbooks.Add
xl.Visible = 1

Сохрани и запусти.
Что получилось?

1) Попробуйте это

При подключении к базе com-объектом вылетает ошибка (файл с ошибкой во вложении, вылетает на строчке кода при создании ком-объекта: Коннектор = Новый COMОбъект(«V8.COMConnector»);)

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

1. Администрирование — Службы компонентов – Компьютеры – Мой компьютер – Приложения COM+ — Создать приложение – Создать новое приложение – вводим имя «V82.COMConnector»(переключатель «Серверное приложение») – Указанный пользователь (Администратор)

2. В появившейся ветке V82COMConnector – подветка Компоненты – создание нового компонента – Установка новых компонентов — bincomcntr.dll

3. Правой кнопкой по ветке V82COMConnector – Свойства – Безопасность – Снял галку «Принудительная проверка доступа для приложений» — Поставил галку «Применить политику программных ограничений» — Уровень ограничений «Неограниченный»

2) Если не помогло

1. Не установлен Microsoft Excel

2. Для работы ком-объекта необходимо наличие папки

For Windows 2008 Server x64

For Windows 2008 Server x86

1) Проделал.
2) Папка есть, только вместо Desktop — по русски Рабочий стол

Источник

Регламентное задание/ Ошибка открытия Excel

Если запускаю вручную обработку, все ок. Если через регламентное задание, то при открытии файла, вываливается ошибка, не может его открыть:
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу ‘c:PRICE.XLS’. Это может быть вызвано одной из следующих причин.

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

Открываю файл так:

Excel = Новый COMОбъект(«Excel.Application»);
Excel.Workbooks.Open(ПутьКПрайсу);
НомерКниги = Excel.Workbooks.Count;
EXCEL_Файл = Excel.Workbooks.Item(НомерКниги);

Нашел ответ на других форумах:

При работе с Excel на сервере ОБЯЗАТЕЛЬНО. создать папку C:WindowsSysWOW64configsystemprofileDesktop или C:WindowsSystem32configsystemprofileDesktop (в зависимости от разрядности вашей системы).

Я столкнулся с подобной проблемой:
v8: Регламентное задание запускается, но не выполняется.
Перепробовав все у меня ничего не получилось.
Вот тут:
v8: 8.2 Работа с FTP ( failed (at start/before it took off)
меня назвали неудачнегом и ткнули носом в ADO.

Но через ADO нельзя навести красоты, отчет для начальства формируется.

Пока в поисках другого пути решения задачи.

Источник

Microsoft Excel не удается получить доступ

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

<ОбщийМодуль.КС_ОбменДанными.Модуль(209)>: Ошибка при вызове метода контекста (Open)
по причине:
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «C:Temp1Cdata3.xls». Это может быть вызвано одной из следующих причин.

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

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

Что только не делал, перезапускал сервер, давал все права на директории с этими файлами Эксель, давал права на папку где установлен Эксель. ничего не помогает 🙁

(2)
ДвоичныеДанные.Записать(КаталогВрФл + «data3.xls»);
Попытка
Эксель = Новый COMОбъект(«Excel.Application»);
Исключение
Возврат;
КонецПопытки;
Книга = Эксель.WorkBooks.Open(КаталогВрФл + «data3.xls»);
Лист = Книга.WorkSheets(1);

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

Источник

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

Про клиент-сервер, Вам правильно написали выше. От себя замечу, что для вашей задачи эксель собственно и не нужен. Грубый код (что непонятно спрашивайте)

Поясню, ПутьКФайлу — содержит полный путь к файлу НА СЕРВЕРЕ т.к. процедура с этими методами должна быть серверной. Как работать с клиентом и сервером в двух словах не описать. Суть в том, что надо забрать файл с клиента (с ПК пользователя) и поместить его на сервер (туда где «крутится» 1с). Прилагаю два внешних модуля, которые сам писал и использую во всех своих конфигурациях для работы с файловой системой. Один модуль серверный, второй клиент. Какой-какой из названий понятно. Там все грубо, писалось под себя, но думаю разберетесь.

(4) если ставлю серверную папку, выходит сообщение:
Приложения, позволяющие открыть ссылки данного типа не установлены.

На самом сервере офис есть, файлы открываю, но видимо какая-то проблема с самим офисом?

(2) Можно более подробно, не совсем поняла, что значит передать файл на сервер?
На текущий момент на процедура на сервере содержит код:
//Пытаемся подключиться к Excel
Попытка
Excel = новый COMОбъект(«Excel.Application»);
Исключение
Сообщить(«Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel.»);
Возврат;
КонецПопытки;

//Подключились удачно, открываем файл
Excel.Workbooks.Open(ИмяФайла);

(8) ну значит у вас две проблемы
1. Файл должен быть доступен с кластера 1С, в том числе по правам доступа службы под которой запущен агент сервера
2. На сервере должен быть установлен Word и зарегистрирован COM (обычно автоматом регистрируется при установке), но возможны еще проблемы с разрядностью

а вообще если у вас только чтение файла, без записи, лучший вариант сделать как в (5) будет быстрее читать и не требует офиса

Про клиент-сервер, Вам правильно написали выше. От себя замечу, что для вашей задачи эксель собственно и не нужен. Грубый код (что непонятно спрашивайте)

Поясню, ПутьКФайлу — содержит полный путь к файлу НА СЕРВЕРЕ т.к. процедура с этими методами должна быть серверной. Как работать с клиентом и сервером в двух словах не описать. Суть в том, что надо забрать файл с клиента (с ПК пользователя) и поместить его на сервер (туда где «крутится» 1с). Прилагаю два внешних модуля, которые сам писал и использую во всех своих конфигурациях для работы с файловой системой. Один модуль серверный, второй клиент. Какой-какой из названий понятно. Там все грубо, писалось под себя, но думаю разберетесь.

(17) смотрите, чтобы было понятно. Клиент — это тот компьютер, с которого запущен сеанс работы с 1с. Сервер — это тот компьютер где запущена платформа. Если совсем наглядно.

1. Файловая база на ПК. Клиент и сервер в одном месте. Не важно в какую процедур (серверную или клиентскую) путь к файлу передается, он будет одним и тем же.

2. Сервер 1с-предприятия, к нему подключается клиент с другого ПК. Получается клиент одно, а сервер другое. Пользователь указал путь к файлу на своем ПК (C:sharefail.doc) — это локальный путь. В клиентских процедурах он правильный, т.к. они выполняется на клиенте т.е. на ПК пользователя и там этот путь правильный и корректный. Но если вы передадите этот путь в серверную процедуру, то получите ошибку т.к. файл будет искаться не на компьютере пользователя. а на сервере (там где служба сервера работает) и там он найден естественно не будет.

Поэтому универсальных вариантов два:

1. Перемещать файл на сервер.
2. Использовать сетевые пути. доступные и с клиента и с сервера.

Источник

Like this post? Please share to your friends:
  • Производитель microsoft office word
  • Произошла исключительная ситуация microsoft excel не удалось получить доступ к файлу
  • Произведите фильтрацию в excel
  • Произошла исключительная ситуация microsoft excel не удается открыть файл
  • Произведите расчет заработной платы в excel