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

Вниз

Как открыть Excel в модальном режиме?   Найти похожие ветки 

 
Programmer1 ©   (2002-07-23 09:45) [0]

Уважвемые мастера!
Мне нужно, чтобы мое приложение после открытия Excel приостанавливало свою работу, и только когда пользователь закроет Excel, и отработает обработчик OnWorkBookClose, должно продолжится выполнение кода. Как мне это сделать?
Я пользуюсь компонентом ExcelApplication.
Помогите, пожалуйста!
Спасибо!


 
Lord Warlock ©   (2002-07-23 09:57) [1]

Елементарно - при вызове екселя ставишь Visible главной формы - false, в OnWorkBookClose - true


 
Programmer1 ©   (2002-07-23 10:29) [2]

Ничего побобного!
Проверила!
После MainForm.Hide; выполняется следующая строчка программы, не дожидаясь, пока в обработчике OnCloseWorkbook сработает MainForm.Show; .
Надо чтобы была полная аналогия с модальным режимом открытия формы.


 
ПИТОН   (2002-07-23 10:42) [3]

Сделай какой-нибуд флаг в True
После вывода книги делай цикл
While флаг Do;
В OnCloseWorkBook флаг := False


 
Programmer1 ©   (2002-07-23 11:12) [4]

Уважаемый Питон!
сделала как Вы предлагаете -
Excel виснет.
Может есть еще какие-то идеи?


 
Proton ©   (2002-07-23 11:29) [5]


> Lord Warlock © (23.07.02 09:57)
> Елементарно - при вызове екселя ставишь Visible главной
> формы - false, в OnWorkBookClose - true

или enabled;


 
Proton ©   (2002-07-23 11:31) [6]

<ОТКРЫВАЕШ СВОЙ EXCEL>
ENABLED := fasle;
WHILE NOT ENABLED DO APPLICATION.PROCESSMESSAGES;
<делаеш что надо дальше>
только не забудь
OnWorkBookClose
enabled := true;


 
Programmer1 ©   (2002-07-23 14:37) [7]

to Proton>
Попробовала Ваш вариант, дошла пошагово до цикла WHILE, покрутилась в нем немного, перешла в окно Excel и закрыла его, после чего Excel повис вместе с пректом.



 
Lord Warlock ©   (2002-07-23 14:42) [8]


> Programmer1 © (23.07.02 14:37)


а ExcelApplication.Disconnect делаешь?


 
Programmer1 ©   (2002-07-23 14:51) [9]

Нет, а как я его буду делать и где?
У меня же пользователь руками Excel закрывает.


 
Lord Warlock ©   (2002-07-23 14:53) [10]

На тебе

var
Form1: TForm1;
flag: Boolean=True;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ExcelApplication1.Connect;
ExcelApplication1.Visible[LOCALE_USER_DEFAULT]:=True;
ExcelApplication1.Workbooks.Add(EmptyParam,LOCALE_USER_DEFAULT);
ExcelApplication1.ActiveWorkbook.RefreshAll;
Enabled:=False;
Flag:=False;
repeat
Application.ProcessMessages;
until Flag;
ExcelApplication1.ScreenUpdating[LOCALE_USER_DEFAULT]:=true;
ExcelApplication1.Disconnect;
ShowMessage("


 
Programmer1 ©   (2002-07-23 16:00) [11]

Спасобо!!!!!!
Все работает! :)))))))))))



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

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

Наверх




Память: 0.49 MB
Время: 0.013 c
14-13798
dnkSoftWare
2002-07-11 11:07
2002.08.05
Help&Manual лепит HTML Help и выводит его в нерусской кодировке??


4-13854
ProNix
2002-05-24 15:12
2002.08.05
Как сделать чтобы прогу нельзя было выкинуть из памяти


14-13766
Starkom
2002-07-09 16:36
2002.08.05
по поводу галочки Compile with Run-time packages


14-13809
melifaro
2002-07-11 19:08
2002.08.05
Встреча Мастеров DELPHI В Санкт-Петербурге


14-13823
JohnnyJ
2002-07-09 23:37
2002.08.05
Утомленный солнцем