Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Excel 2016, Windows 10, не открывается файл / 6 сообщений из 6, страница 1 из 1
18.04.2018, 09:27
    #39632182
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2016, Windows 10, не открывается файл
Добрый день, коллеги!

Среда: Tokyo 10.2, Windows 7.

Пациент: Windows 10 64bit

Использую следующий код для открытия эксель-файла (2 столбца по 10 заполненных строчек, размер файла 78 Кб) и дальнейшего заполнения.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure CreateExcelBase(AFileName:string);
begin
  XL := Unassigned;
  Sheet := Unassigned;
  XL := CreateOleObject('Excel.Application');
  XL.Workbooks.Open(AFileName);
  Sheet:=XL.WorkBooks[1].WorkSheets[1];
end;



В Windows7 - MS Office 2016 проблем нет. Файл открывается почти мгновенно.

В Windows 10 - MSOffice 2016 при запуске программы из под пользователя наблюдаются 2 типа ошибок (появляются совершенно рандомно):
1. the server {00024500-0000-0000-C000-000000000046} did not register with DCOM within the required timeout
2. Server execution failed, ProgID: "Excel.Application"

Если запустить из под администратора, то файл открывается, но где-то через 20-30 секунд.

По 1-й ошибке гуглил, DCOMCNFG проверял, настройки безопасности изменял
Офис переставил - не помогло.

Интересности (бред какой-то..):
1. Если запустить данный код из главного окна приложения (кнопка на главной форме), то под админом открывается за 5-7 секунд
2. Если из модального окна, то, как указано выше, 20-30 секунд.

Если сделать пустую тестовую форму с 1 кнопкой и генерацией пустого листа экселя, то в Windows 10 это занимает 5-7 секунд. В Windows 7 - 1 секунда.

Тестовая пустая форма:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure TForm7.Button1Click(Sender: TObject);
var
 XL : variant;
 Sheet : variant;
 WB: Variant;
begin
   XL := CreateOleObject('Excel.Application');
   XL.Visible := true;
//   WB:=XL.WorkBooks.Open('D:\Excel2016\Win32\Release\QPRDetailSupplier.xls');
   WB:=XL.WorkBooks.Add(EmptyParam);

 XL.WorkBooks[1].WorkSheets[1].Name := 'my data';
 Sheet := XL.WorkBooks[1].WorkSheets['my data'];
 Sheet.Range['A10',EmptyParam].Value[EmptyParam]:='123';
end;



Есть идеи как побороть?
Может кто-то уже сталкивался с подобным?
...
Рейтинг: 0 / 0
18.04.2018, 11:57
    #39632326
antox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2016, Windows 10, не открывается файл
Была похожая проблема с не очень лицензионным офисом
...
Рейтинг: 0 / 0
18.04.2018, 13:44
    #39632476
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2016, Windows 10, не открывается файл
antoxБыла похожая проблема с не очень лицензионным офисом
В моём случае с лицензиями проблем нет.
...
Рейтинг: 0 / 0
18.04.2018, 13:54
    #39632490
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2016, Windows 10, не открывается файл
Kast2K,

CoInitialize() присутствует?
...
Рейтинг: 0 / 0
18.04.2018, 14:42
    #39632535
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2016, Windows 10, не открывается файл
DarkMasterKast2K,

CoInitialize() присутствует?
Присутствует.
Не помогает.
...
Рейтинг: 0 / 0
18.04.2018, 16:15
    #39632640
Kast2K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2016, Windows 10, не открывается файл
В общем, по неизвестной причине пользователь в Windows 10 потерял какие-то права на работу с OleServer(?)

Методом тыка выгрузка в Эксель начала работать только после:
1. Compatibility - Windows 7
2. Run as administrator
3. CoInitializeEx( nil, COINIT_MULTITHREADED );

Работает как с, так и без 3 пункта, так и с заменой на CoInitialize(nil).

Т.к. ПК для оператора с ограниченными правами, то политиками порезали все доступные функции и дали право на запуск из под админа без ввода пароля.

Окончательная причина такого поведения не определена.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Excel 2016, Windows 10, не открывается файл / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]