![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сохранение Word файла в Blob поле [D7, WinXP]
Xmen © (2011-01-17 08:45:00)Привет мастерам!
Есть один вопрос как сохранить Word файл в Blob поле посли закрытия word файла.
Есть док файл там есть анкета после ввода текста и сохранения этого файла чтобы он сохранился в влоб поле таблицы.
Xmen (2011-03-03 13:51:00) [1]procedure TMainForm.WordApplication1DocumentBeforeClose(ASender: TObject;
const Doc: _Document; var Cancel: WordBool);
begin
MessForm.Show;
end;
уже сделано появляется мая форма но ворд документ исчезает.
мне бы чтобы когда нажимается кнопка закрытия (х) ворда форма появился бы над вордом в место обычного запроса сохранения документа.
Плохиш (2011-03-03 11:27:00) [2]
> Как мне сделать так что бы MessForm форма появился поверх
> ворд формы
Надо активировать свою программу и вывести еë на передний фронт.
Xmen (2011-03-03 08:12:00) [3]сделал так
поместил в форму компонентов
WordApplication и WordDocument и Button и прописал
procedure TMainForm.Button1Click(Sender: TObject);
var fn:OleVariant;
begin
fn := ExtractFilePath(Application.ExeName) + 'test.doc';
WordApplication1.Connect;
WordApplication1.Documents.Open(fn, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordApplication1.Visible:=True;
end;
по нажатию кнопки открывается ворд файл
а потом
procedure TMainForm.WordApplication1DocumentBeforeClose(ASender: TObject;
const Doc: _Document; var Cancel: WordBool);
begin
MessForm.Show;
end;
MessForm форме 2 кнопки "Да" "Нет" для сохранения файла заново в базе.
Теперь вопрос. Как мне сделать так что бы MessForm форма появился поверх ворд формы и перед закрытием ворда. А то у меня сначала ворд закрывается потом MessForm форма появляется. Если сделать так
procedure TMainForm.WordApplication1DocumentBeforeClose(ASender: TObject;
const Doc: _Document; var Cancel: WordBool);
begin
ShowMessage('Закрывается ворд!');
end;
То ShowMessage форма остаётся зади Ворд документа.
clickmaker (2011-02-28 11:23:00) [4]> мне бы сделать так когда закрывается открытий для редактирования
> документ появился бы форма запроса
отследить закрытие можно периодически пытаясь открыть файл на запись
Xmen (2011-02-28 08:17:00) [5]
> как вариант: FindFirstChangeNotification на этот файл
чета не то что я хотел
мне бы сделать так когда закрывается открытий для редактирования документ появился бы форма запроса в котором запрашивался о сохранение файла в базе.
clickmaker (2011-02-25 14:26:00) [6]> Мне это не удается. У меня не получается узнать что файл
> был изменен и сохранен
как вариант: FindFirstChangeNotification на этот файл
Xmen (2011-02-25 14:13:00) [7]
> KilkennyCat © (25.02.11 13:26) [11]
> а, понятно... вы запускаете ворд, пользователь редактирует,
> закрывает, и надо перехватить это закрытие? т.е. редактируется
> не из программы..
если конкретно то да
есть анкеты в ворде(хранятся в блобе) и есть клиенты.
для каждого клиента создаётся поля с блоб полями внутри ворд файлом.
задача было такое нужно открыть каждую анкету, то есть сохранить файл из блоб поле в временном каталоге. а потом его редактировать и заполнят и сохранить его. Есть форма с помощью его выбирается клиент и выбирается анкета для изменения (сохраняется файл из блоба в временном каталоге). И программно открывается вордом. Заполняется в ворде и сохраняется. вот тут программа должно заново сохранить его в блоб поле. Мне это не удается. У меня не получается узнать что файл был изменен и сохранен.
KilkennyCat (2011-02-25 13:26:00) [8]а, понятно... вы запускаете ворд, пользователь редактирует, закрывает, и надо перехватить это закрытие? т.е. редактируется не из программы...
Xmen (2011-02-25 13:04:00) [9]
> а зачем этот пример, раз вы> работаем с ComObj.закройте
> документам там.
Я ссылку дал потом что я искал уже в инете и не нашел подходящего ответа.
KilkennyCat (2011-02-25 13:00:00) [10]ну а если вообще все плохо, написать макрос в ворде, пусть сам ворд орет, что документы он закрыл. он, кстати, может и сам еще и в блоб запихнуть.
KilkennyCat (2011-02-25 12:58:00) [11]а зачем этот пример, раз вы
> работаем с ComObj.
закройте документам там.
Xmen (2011-02-25 12:27:00) [12]Результат поиска много раз возвращал ссылку вот этот пример (ссылки были разные это только один из них)
http://delphiworld.narod.ru/base/msword_open_docs_notify.html
Xmen (2011-02-25 10:49:00) [13]Как отследить закрытие Word документа искал с гуглом но толком не нашел ответа. Есть только одинаковые ответы.
> Andy BitOff © (18.01.11 13:50) [4]
> Следить за Вордом с помощью TWordApplicationсобытияOnDocumentBeforeCloseOnDocumentBeforeSave
TWordApplication не ползуюсь, работаем с ComObj.
(2011-02-05 15:34:00) [14]Удалено модератором
Andy BitOff (2011-01-18 13:50:00) [15]Следить за Вордом с помощью TWordApplication
события
OnDocumentBeforeClose
OnDocumentBeforeSave
Cobalt (2011-01-17 14:04:00) [16]смотри TBlobField
Xmen (2011-01-17 12:09:00) [17]Спасибо
Мне интересно было по закрытию ворд файла отправить его в блоб
Jeer (2011-01-17 10:16:00) [18]google:
save file to blob