C windows syswow64 config systemprofile desktop excel

Настройка COM Объекта «Excel.Application» на сервере 1С, настройка поможет обработать большие файлы Excel на сервере 1C, в том числе через фоновые задания.
Та же данная настройка может решить проблему с ошибкой 1С:

ошибка -2147467262(0x80004002): Интерфейс не поддерживается
  1. Заходим на сервер приложений 1С под локальным админом или администратором домена
  2. Запускаем DCOMCNFG (Консоль настроек «Службы компонентов»)
    1. Открываем ветку Корень консоли -> Службы компонентов -> Компьютеры -> Мой компьютер -> Настройка DCOM
    2. Ищем «Microsoft Excel Application»
    3. Если запись существует, то переходим к пункту 4
    4. Закрываем «Службы компонентов»
  3. Настройка реестра
    1. Запускаем REGEDIT
    2. Открываем ветку Компьютер\HKEY_CLASSES_ROOT\AppID\EXCEL.EXE, если ее нет, то создаем
    3. Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
    4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты
    5. После этого в Component Services должен появиться «Microsoft Excel Application»
  4. Настраиваем свойства DCOM компонента «Microsoft Excel Application»
    1. Заходим в «Свойства», закладка «Безопасность»
      1. «Разрешения на запуск и активацию» — Настроить — Изменить
        1. Добавляем пользователя, под которым запускается агент сервера 1С
        2. Назначаем ему только следующие права (Разрешить):
          1. Локальный запуск
          2. Локальная активация
      2. «Разрешения на доступ» -Настроить — Изменить
        1. Добавляем пользователя, под которым запускается агент сервера 1С
        2. Назначаем ему только следующие права (Разрешить):
          1. Локальный доступ
    2. Переходим на вкладку «Удостоверение»
      1. Выбираем «Запускающий пользователь»
  5. Настройка системных папок
    1. Папка «C:\Windows\SysWOW64\config\systemprofile\Desktop\»
      1. Проверяем наличие папки , если нет -то создаем
      2. Заходим в «Свойства» этой папки, закладка «Безопасность»
      3. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      4. Добавляем права «Чтение» и «Запись»
    2. Папка «C:\Windows\System32\config\systemprofile\Desktop\»
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в «Свойства» этой папки, закладка «Безопасность»
      3. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      4. Добавляем права «Чтение» и «Запись»

Hi,

if you have already created a script and within you do some things with Excel by DCOM Excel.Application the script runs well as a user logged to the Desktop but not within a schedule task started by the same user.

The root cause are some missing folders and permissions in the systemprofile folder and missing DCOM Permissions to launch Excel.

Start a command shell cmd.exe with Administrator permissions and create the following folders if it not exists:

mkdir C:\Windows\SysWOW64\config\systemprofile\AppData
mkdir C:\Windows\SysWOW64\config\systemprofile\Desktop
mkdir C:\Windows\System32\config\systemprofile\AppData
mkdir C:\Windows\System32\config\systemprofile\Desktop

Then set Modify permissions for the user who should start excel

icacls C:\Windows\SysWOW64\config\systemprofile\AppData /grant myDomain\myUser:(OI)(CI)(R)(RX)(M)
icacls C:\Windows\SysWOW64\config\systemprofile\Desktop /grant myDomain\myUser:(OI)(CI)(R)(RX)(M)
icacls C:\Windows\System32\config\systemprofile\AppData /grant myDomain\myUser:(OI)(CI)(R)(RX)(M)
icacls C:\Windows\System32\config\systemprofile\Desktop /grant myDomain\myUser:(OI)(CI)(R)(RX)(M)

Open DCOM Configuration. Depending of our Office Version (x86 or x64). For a 32Bit Office

mmc.exe comexp.msc /32

and for System default

mmc.exe comexp.msc
DCOM Management Console

Set permissions

DCOM Permissions

Set the Launch and Activation permissions

DCOM Launch and Activation Permissions

and finally set the Access permissions

DCOM Access Permissions

Michael

My Knowledgebase for things about Linux, Windows, VMware, Electronic and so on…

This website uses cookies to improve your experience and to serv personalized advertising by google adsense. By using this website, you consent to the use of cookies for personalized content and advertising. For more information about cookies, please see our Privacy Policy, but you can opt-out if you wish. Accept Reject Read More

При создании книги Excel ругается «не удается открыть или сохранить документы из-за нехва»

0

Birmingem

07.09.17

18:58

Имеется:

Windows Server 2012 х64

На нем Office 2013 x64

На нем 1С Сервер х64

Пытаюсь выгружать в файл Ексель.

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

Excel.Displayalerts = 0;

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

И вот на этой строке вылезает сообщение:

Ошибка при вызове метода контекста (Add)

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

по причине:

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске.

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

• Чтобы освободить место на диске, удалите с этого диска ненужные файлы.

Для эксперимента попробовал открыть существующий файл:

Excel.Workbooks.Open(«D:\Temp\111»);

Открывает…

Подозреваю что при попытке создания нового файла, Excel обращается куда то, куда доступа у юзера USR1CV8 (под которым работает 1С) нет.

Подскажите что делать?

1

Birmingem

07.09.17

19:00

Второй день бьюсь, весь инет перерыл …

2

Fedor-1971

07.09.17

19:21

(0) на msdn — проверь есть ли параметры у Workbooks.Add(), может нужен параметр, что создаём?

3

Birmingem

07.09.17

19:25

(2) В файловой базе этот код полностью работает. Так что проблема именно с доступами из 1С:Сервер в Ексель.

4

Fedor-1971

07.09.17

19:38

(3) скорее в TEMP, проверь права доступа на ту папку, которая прописана в общей системной переменной

5

Fedor-1971

07.09.17

19:46

4+ или залогинься в винду с USR1CV8

6

Birmingem

07.09.17

19:48

В «Настройка DCOM» в свойствах Excel прописал «Разрешения на запуск и активацию» пользователя USR1CV8.

А вот на вкладке «Удостоверение» прописать этого пользователя не дает. Ругается «код ошибки 80070569 выбранный режим входа для для данного пользователя не предусмотрен».

Какие еще права надо дать USR1CV8? В какую группу его засунуть?

7

Birmingem

07.09.17

19:50

(5)Пробовал. Дал ему «Пользователи удаленного рабочего стола» и зашел удаленно под USR1CV8. Вручную запустил Ексель, создал книгу, нормально создалось. Запустил 1С, попробовал выгрузить в Ексель, результат тот же.

8

lubitelxml

07.09.17

19:52

(7) на tmp дал права то?

9

Cyberhawk

07.09.17

19:53

(6) Интерактивный вход в систему в групповых политиках вроде

10

Cyberhawk

07.09.17

19:54

Ну и проверить, что служба сервера 1С работает не из-под «локал систем»

11

Birmingem

07.09.17

20:09

Попробовал так. Дал USR1CV8 еще и права Администратор.

Зашел под ним. В «Настройка DCOM» в свойствах Excel на вкладке «Удостоверение» поставил «Текущий пользователь».

И заработало …

Получается, надо в «Удостоверение» прописать USR1CV8.

12

Birmingem

07.09.17

20:14

(9) Забрал у USR1CV8 права Администратор.

Зашел в «Локальная политика безопасности — Локальные политики — Назначение прав пользователя». Правильно?

В списке нашел «Запретить локальный вход» и там был USR1CV8. Убрал. Все равно не дает прописать его в «Удостоверение».

Что еще нехватает?

13

Birmingem

07.09.17

20:19

(10)служба сервера 1С работает под USR1CV8

14

Birmingem

07.09.17

20:20

(8)Какую именно tmp надо проверить?

15

VS-1976

07.09.17

20:36

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

16

Cyberhawk

07.09.17

20:55

17

Birmingem

08.09.17

07:20

(15)Пробовал. Зашел под USR1CV8, создал книгу, сохранил. Закрыл Ексель. Снова открыл. Никаких вопросов не задает. Открыл книгу, изменил, сохранил. Все нормально.

(16)Спасибо! Я уже нарыл в инете эту информацию, только по частям. Теперь заново, пошагово все проделал.

В результате COMОбъект(«Excel.Application») создается. Но потом, при создании книги Книга = Excel.WorkBooks.Add(); выдает:

Ошибка при вызове метода контекста (Add) Книга=Excel.WorkBooks.Add();

по причине:

Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске.

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

• Чтобы освободить место на диске, удалите с этого диска ненужные файлы.

18

VS-1976

08.09.17

14:25

Попробуй создать каталоги, может поможет, но не факт

Папки

C:\Windows\SysWOW64\config\systemprofile\Desktop

C:\Windows\System32\config\systemprofile\Desktop

19

Масянька

08.09.17

14:49

(17) Documents and Settings — смотрел?

20

Cyberhawk

09.09.17

09:37

Может квоты установлены для пользователя ОС службы агента

21

Birmingem

13.09.17

10:39

В общем, так и не победил эту проблему.

Отказался от формирования Ексель файла на сервере (по рекомендации микрософта :) ).

Теперь на сервере собираю данные, складываю в несколько массивов и передаю на клиента.

И файл Ексель создаю на клиенте.

Sharing a TIP on Scheduling a script that contains excel code.

One of my Script that uses excel was running fine when I was launching it interactively but if scheduled thru

Task scheduler it wasn’t working & threw below errors:

Microsoft Excel cannot access the file

There are several possible reasons:

The file name or path does not exist.
The file is being used by another program.
The workbook you are trying to save has the same name as a currently open
workbook.

On researching there found a simple fix , Just create a directory with name Desktop

C:\Windows\SysWOW64\config\systemprofile\Desktop -(64 Bit OS)

C:\Windows\System32\config\systemprofile\Desktop -(32 bit OS)

After doing this my script started running fine, hope this TIP will assist you if you are in same situation.

Thanks for reading

Sukhija Vikas

http://SysCloudPro.com

Related posts

In my last article ‘’, I have explained why we choose to use Excel Application object for excel automation and its disposing mechanism. But, while testing we were getting following exception:

Microsoft Excel cannot access the file ‘<file path>’. There are several possible reasons:

• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as a currently open workbook.:    at Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)

But, file exists at that location.

After spending hours, I am able to find solution for this weird issue.

Basically solution is to create ‘Desktop’ folder under following paths on your machine:

If your machine is 64-bit then
C:\Windows\SysWOW64\config\systemprofile

If your machine is 32-bit then
C:\Windows\System32\config\systemprofile

My machine is 64-bit and I was already having ‘Desktop’ folder under ‘C:\Windows\SysWOW64\config\systemprofile’, but still it was not working.
Just to try out I created ‘Desktop’ folder under ‘C:\Windows\System32\config\systemprofile’ (which was not exist) on my machine.

And Bingo! Problem is solved. Exception went away and it is updating excel file correctly.

Really strange but it worked!

Looks like it creates some temporary file under ‘Desktop’ folder. But not too sure. Also it has something to do with under which user credentials it runs the windows service and excel application object.

Note: Paths may vary on your machine depending on where ‘windows’ folder reside.

I got idea for this solution from following 2 articles:

http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required

Another solution: (but this requires registry changes – which is not preferred to do it on production machine)
http://social.technet.microsoft.com/Forums/en-US/office2007deploymentcompatibility/thread/334c9f30-4e27-4904-9e71-abfc65975e23

Happy Programming!

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 работающая с флешки
  • Сканер mustek 1200 ub plus драйвер windows xp
  • Digital audio s pdif high definition audio device драйвер windows 10
  • Что будет если удалить предыдущие установки windows 11
  • Nfs underground windows 10 torrent