powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + Excel ошибка EOleSysError "Вызов был отклонен."
4 сообщений из 4, страница 1 из 1
Delphi + Excel ошибка EOleSysError "Вызов был отклонен."
    #39454985
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте,

Программа написана на Delphi2007, запускается на Windows7 Corporate + MS Office 2016
Программа создает документ в Excel и делает выгрузку данных.
На многих ПК работает, но на некоторых выдает ошибку EOleSysError: "Вызов был отклонен.". Сам Excel не запущен.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
var
  exl: OleVariant;
begin
    // создание объекта Excel
  try
    CoInitialize(nil);
    exl := CreateOleObject('Excel.Application'); // здесь ошибка EOleSysError "Вызов был отклонен."
  except on E:Exception do
    begin
      ShowMessage('Не удалось подключиться к MS Excel.'+E.message); 
      exit;
    end;
  end;
  CoUnInitialize;
  ...
  ...


Из-за чего может выдавать ошибку и как ее победить?

Заранее благодарен.
...
Рейтинг: 0 / 0
Delphi + Excel ошибка EOleSysError "Вызов был отклонен."
    #39455013
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложение многопоточное?
...
Рейтинг: 0 / 0
Delphi + Excel ошибка EOleSysError "Вызов был отклонен."
    #39455020
m52
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, приложение 1-поточное.
...
Рейтинг: 0 / 0
Delphi + Excel ошибка EOleSysError "Вызов был отклонен."
    #39455097
Marugr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
причины могут быть разные,
уже много лет в разных проектах, для подключения, использую такую конструкцию:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
 var
  i:Integer;

  ExcelApp, Workbook, WorkSheet1, Range, Cell1, Cell2, ArrayData1  : Variant;
  BeginCol, BeginRow : integer;
  RowCount, ColCount : integer;
  cls_ExcelObject:string;
  regData:TRegistry;
begin
   //готовим файл .XLS
          {выгрузка в Excel}
          // Определение Excel
          cls_ExcelObject := 'Excel.Application';
          regData := TRegistry.Create;
          regData.RootKey := HKEY_CLASSES_ROOT;
          try
            if regData.OpenKey('\Excel.Application\CurVer', False) then begin
              cls_ExcelObject := regData.ReadString('');
              regData.CloseKey;
            end
          finally
            regData.Free;
          end;

          // Создание Excel
          ExcelApp := CreateOleObject(cls_ExcelObject);
          // Отключаем реакцию Excel на события,
          //чтобы ускорить вывод информации
          ExcelApp.Application.EnableEvents := false;
          ExcelApp.Visible := False;
          //Создаем Книгу (Workbook)
          //Если заполняем шаблон, то
          Workbook := ExcelApp.WorkBooks.Add('\\192.168.1.100\отчетность\Data\shablon.xls');
          //или пустая книга
          //Workbook := ExcelApp.WorkBooks.Add;
          //или открываем готовую
          //Workbook := ExcelApp.WorkBooks.open(f_path+f_name+'.XLS');
          //активный лист
          WorkSheet1 := ExcelApp.Workbooks[1].WorkSheets[1];

          ////////////////////////
          // начало заполнения
           WorkSheet1.Cells[5,1]:='за '+s_kvartal+' квартал 2013 г.';


ошибок ни разу не было, главное чтобы excel был на машине
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi + Excel ошибка EOleSysError "Вызов был отклонен."
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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