Тема: Книга Excel
Показать сообщение отдельно
  #1  
Старый 30.10.2024, 17:01
Filen Filen вне форума
Прохожий
 
Регистрация: 23.05.2024
Сообщения: 11
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Книга Excel

Здравствуйте уважаемые.
Проблема такая...

Создаю книгу exel (экспорт из БД) , далее сохраняю с заданным именем ..


Код:
 const
Fnn= 'Test';
XLApp.WorkBooks[1].SaveAs(ExtractFilePath(Application.ExeName)+Fnn);

в нужный момент открываю книгу на другой форме в oleconteiner..
OleContainer1.CreateObjectFromFile(ExtractFilePath(Application.ExeName)+Fnn,False);
OleContainer1.DoVerb(ovShow);

затем при закрытии формы удаляю созданный файл ..

procedure TForm23.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin

If  FileExists(ExtractFilePath(ParamStr(0))+'Test.xlsx') Then Begin

DeleteFile('Test.xlsx');
OleContainer1.Close;
OleContainer1.DestroyObject;

  end;
  end;

все прекрасно работает что и требовалось.

Но иногда нужно сохранить книгу с другим именем делаю так..

procedure TForm23.N3Click(Sender: TObject);
begin
if SaveDialog1.Execute then begin
OleContainer1.OleObject.SaveAs(SaveDialog1.FileName);
 ShowMessage('Отчет сохранён в файл:'#10+SaveDialog1.FileName+'xlsx');
end;
end;
Админ: Пользуемся тегами при оформлении кода!

тоже все нормально сохраняет.

Но теперь код при закрытии формы FormCloseQuery не удаляет первоначально созданный файл Test.xlsx, в чем проблема?
Буду благодарен за потраченое на меня время.
Ответить с цитированием