Главная страница
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.014 c
6-1192736496
DprPasDcu
2007-10-18 23:41
2008.08.31
Как управлять сетевыми подключениями?


1-1198064611
андр
2007-12-19 14:43
2008.08.31
Interface


15-1215679351
Никитич
2008-07-10 12:42
2008.08.31
Посоветуйте книгу по C#


15-1216030875
denic
2008-07-14 14:21
2008.08.31
В какой программе


3-1204266576
Barsky
2008-02-29 09:29
2008.08.31
Правильный запрос на FireBird SQL