Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.08.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
2-1216720338
Dennis I. Komarov
2008-07-22 13:52
2008.08.31
Self будет на кого указывать


2-1216819268
lavgirls
2008-07-23 17:21
2008.08.31
Подскажите как удалить папку


3-1204711605
Kolan
2008-03-05 13:06
2008.08.31
В какой программе администир. для SQL Light можно делать связи?


15-1215956731
ms1
2008-07-13 17:45
2008.08.31
Русские банки


4-1195513824
Alx2k
2007-11-20 02:10
2008.08.31
Окно выбора значка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский