Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 15:57   #1
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию Работа с файлами Excel

В программе делаю доступ к данным в файле типа Excel:

Код:
implementation
uses UnitExcel, UnitMon, UnitPars01;

var
  bExcel, rb: boolean;
  sh: variant;

procedure OpenWorkBook(var E: variant);
var
  strEr, sP: String;
  i: integer;
begin
  if (VarIsEmpty(E)) then
    E:=CreateOleObject('Excel.Application');
  if VarIsEmpty(E) then Exit;
  GetDir(0, strEr);
  strEr:=strEr+ '\' + strRezSearch+'.xls';
  try
    if VarIsEmpty(E) then
      begin
      bExcel:=true;
      book:=E.Workbooks.Open(strEr);
      sh:=book.Worksheets[1];
      if book.ReadOnly then bR:=true else bR:=false;
      end;
  except
    bExcel:=false;
  end;
End;
Всё работает до тех пор, пока на компьютере параллельно не откоют какой-нибудь другой файл Excel. Происходит ошибка доступа. Насколько я понял, процесс Excel, созданный программно, перехватывается ОС (в диспетчере задач видно, что присутствует всего один процесс EXCEL).
Причём, если просто создать новый файл Excel (меню "Пуск", "Excel") ОС создаёт свой процесс (видно в диспетчере задач) и всё работает нормально.
Как с этим побороться?
Aleksandr_59 вне форума Ответить с цитированием
Старый 16.01.2013, 16:40   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Работать именно с Вашей рабочей книгой, а не той которую активировали.
FaTaL вне форума Ответить с цитированием
Старый 16.01.2013, 16:44   #3
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Работать именно с Вашей рабочей книгой, а не той которую активировали.
Ну, наверное. Не совсем понял.
Моя программа останавливается по ошибке доступа к файлу, если параллельно открыть в Excel любую другую книгу (из папки с программой).
Aleksandr_59 вне форума Ответить с цитированием
Старый 16.01.2013, 21:52   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Странно. Я хоть 50 штук Excel файлов открываю, но программа у меня всё равно работает именно с моей книгой. Покажите код, где вылазиет ошибка.
FaTaL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с 2-мя файлами Excel slone2179 Microsoft Office Excel 68 08.02.2012 12:04
Работа в Delphi с Excel файлами! Leximus Общие вопросы Delphi 5 02.10.2010 11:37
связи между файлами excel redfield Microsoft Office Excel 0 04.05.2010 16:22
Работа с файлами из Excel axell_pnz Microsoft Office Excel 4 16.11.2009 11:10
работа с excel файлами через Delphi Winss Помощь студентам 6 08.09.2007 17:54