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

Вниз

Прогресс бар при сохранении документа в Ворде   Найти похожие ветки 

 
Andy BitOff ©   (2008-07-11 15:28) [0]

Существует ли возможность отобразить в своей программе ход выполнения сохранения документа в Ворде? Создаю огромный документ (CreateOleObject) и процесс сохранения (Doc.Save) длится несколько секунд, бывает до 20-30.


 
Alien1769 ©   (2008-07-11 16:45) [1]

Да


 
Andy BitOff ©   (2008-07-11 17:00) [2]

> Alien1769 ©   (11.07.08 16:45) [1]

А нельзя ли поподробнее. Где об этом почитать?


 
Alien1769 ©   (2008-07-11 17:26) [3]

И тебе вопрос, что уже сделано для сохранения ?
Минимально код плиз участка сохранения.


 
Andy BitOff ©   (2008-07-11 17:36) [4]

> Alien1769 ©   (11.07.08 17:26) [3]

 WordApp := CreateOleObject("Word.Application");
 WordApp.Documents.Open(PatternFileName);
 Doc := WordApp.ActiveDocument;
 ... //работа с документом
 lbl_InfoProcess.Caption := "Сохранение документа...";
 Doc.Save;


 
Юрий Зотов ©   (2008-07-12 11:08) [5]

> Andy BitOff ©   (11.07.08 15:28)

Поскольку в процессе сохранения Word никаких обратных уведомлений не шлет, то возникает проблема привязки позиции прогрессбара (привязывать ее просто не к чему). Можно придумать какой-то косвенный алгоритм расчета позиции, но гораздо проще (и с точки зрения интерфейса вряд ли хуже) использовать TAnimate.


 
Andy BitOff ©   (2008-07-12 12:09) [6]

> Юрий Зотов ©   (12.07.08 11:08) [5]

Это-то я всё прекрасно понимаю, но думал, что по незнанию... может Ворд и имеет методы с посылкой уведомлений. Вот, надеялся Alien1769 © просвятит.


 
Kostafey ©   (2008-07-12 17:45) [7]

Такого плана идея.
> //работа с документом

в некорорых случаях это работа с БД (например скролирование
по записям). Можно прогресс бар к этому привязать.

Разумется это не как не учивает работу самого Ворда,
но в некоторых частных случаях может смотреться
довольно неплохо...


 
Andy BitOff ©   (2008-07-12 18:05) [8]

> Kostafey ©   (12.07.08 17:45) [7]

Это уж как-то слишком хитро ;)
Не та задача, что бы так потеть. Если бы возможность была, то было бы удобно, а нет, так и нет, и надписью обойдутся.
Если бы скорость сохранения не от чего бы не зависила, всмысле от мощей машины, то можно былобы по времени прогресс сделать. Так как содержимое документа известно и поддается такому анализу, т.е. существует прямая зависимость времени сохранения от количества данных.


 
AFHU   (2008-07-12 18:18) [9]

> Если бы возможность была, то было бы удобно

А может всё-таки есть какой-то выход?
Вот например в Word 2007 (да и в предыдущих версиях) в нижней статусной строке отображается прогресс сохранения :)

Его оттуда никак не "выдрать"? Пусть даже каким-то изощрённым способом


 
Alien1769 ©   (2008-07-12 21:38) [10]


> Его оттуда никак не "выдрать"? Пусть даже каким-то изощрённым
> способом

Вот на это я натякнул автору, да способ немного извращенный но..

Автор спросил, я ответил.



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1215938456
Zeqfreed
2008-07-13 12:40
2008.08.31
Подскажите, как музыка называется


6-1192114180
ggg
2007-10-11 18:49
2008.08.31
net share


2-1216988088
ketanov
2008-07-25 16:14
2008.08.31
WebModule


1-1197393925
BruceW
2007-12-11 20:25
2008.08.31
Полноценные формы


2-1216735433
mc2
2008-07-22 18:03
2008.08.31
TTreeView скопировать в другой