Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

вопрос по Excel   Найти похожие ветки 

 
hom   (2006-10-17 18:40) [0]

Добрый день всем!
при создании отчетов на Еxcel есть такое такое дело как
DisplayAlerts
если ему присвоить False, то при работе с Excel не будут отображаться
всякие сообщения от Excel(типа подтверждения на сохранение или на перезапись), а как можно к таким сообщениям обратиться через Delphi?
например программно выбирать Yes или No на таких сообщениях?


 
EvS ©   (2006-10-17 19:27) [1]

А нафига?


 
ян   (2006-10-17 19:44) [2]

дело в том, что после создания отчета надо решить, оставить его или нет.
если я в конце программы пишу

E.WorkBooks.SavaAs("filename");
E := Unassigned;

то при закрытии Excel появляется сообщение заменить имеющийся файл или нет?
нажимаешь да - он сохраняет, освобождает память, но
если нажимаешь "нет" - всё : метод SaveAs завершен неверно и уже он не освобождает память.
Пробовал отключать Alerts, и сделать с помощью MessageBox,
но ничего внятного так не получилось...


 
umbra ©   (2006-10-17 20:28) [3]

а не проще ли сохранять под именем, которого точно нет?


 
YurikGL ©   (2006-10-17 20:35) [4]


> то при закрытии Excel появляется сообщение заменить имеющийся
> файл или нет?

Проще использовать функцию

Delphi syntax:

function FileExists(const FileName: string): Boolean;

C++ syntax:

extern PACKAGE bool __fastcall FileExists(const AnsiString FileName);

Description

FileExists returns true if the file specified by FileName exists. If the file does not exist, FileExists returns false.


 
EvS ©   (2006-10-17 20:51) [5]

If FileExists(filename) then
XLAp.Workbooks[1].Save
else
XLAp.WorkBooks[1].SaveAs (filename);
XLAp.Workbooks[1].Close;
XLAp.Quit;


 
EvS ©   (2006-10-17 20:56) [6]

[5] EvS ©   (17.10.06 20:51) это если нужно сохранять именно под таким именем
чтобы не было вопросов от Excelя можно написать
XLAp.Workbooks[1].Close(0);



Страницы: 1 вся ветка

Текущий архив: 2006.11.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.03 c
6-1150525928
grisme
2006-06-17 10:32
2006.11.05
Вопрос по WinSock


1-1158916637
MixAnOL
2006-09-22 13:17
2006.11.05
Печать на термопринтере через RS232


1-1159262982
gdaujk
2006-09-26 13:29
2006.11.05
Выделяем память в DLL, а освобождаем в главном приложении…


1-1158927251
dmitry kholl
2006-09-22 16:14
2006.11.05
Ошибка с TWebBrowser


11-1136123221
Аид
2006-01-01 16:47
2006.11.05
Контрол для чата