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

Вниз

TOLEContainer + MSWord = сохранить в память как HTML   Найти похожие ветки 

 
BPK ©   (2005-09-29 15:32) [0]

Имею MSWord, вставленный в TOLEContainer, находящийся в дочернем MDI-окне. Нужно по нажатию моей собственной кнопки сохранить документ, но не на диск, а в буфер (как частный случай - поток), причём ЖЕЛАТЕЛЬНО - В HTML, чтобы содержимое буфера было читаемым невооружённым глазом и хранить в БД как текст.

Основные задачи
1. Вставить Microsoft Word в окно редактирования элемента базы данных, чтобы Word занимал только часть окна. Остальное будут занимать всякие TEdit"ы "Кому", "От кого", "Тема"...
2. MSWord должен иметь привычный вид, включая размещение панелей инструментов так, как их расставил пользователь, и должен управляться привычными сочетаниями клавиш. Хотя, панели инструментов можно и выключить, но так, чтобы положение панелей не сохранилось, чтобы при запуске собственно Ворда как отдельного редактора, панели не "съехали" со своих мест.
3. Все файловые операции в MSWord должны быть заблокированы. Ещё лучше - перехватить операцию сохранения документа, чтобы её обрабатывало приложение-контейнер
4. Вместо сохранения документа приложение дожно брать текст из MSWord и сохранять его в базе данных
5. При печати документа текст, хранящийся в базе данных, нужно подставлять как кусок в генерируемый налету средствами VBA шаблон печатного документа, промеж заголовка и подписей. На худой конец, можно, конечно, загрузить документ из БД и при печати вставить в него заголовки и подписи.


 
BPK ©   (2005-09-29 16:13) [1]

Неприятная новость: Если загрузить данные, сохранённые с помощью SaveToStream, то они не загружаются в MSWord, а заменяют его в TOLEContainer. Куда-то пропадают все панели и органы управления MSWord.


 
YurikGL ©   (2005-09-29 20:09) [2]


>  чтобы содержимое буфера было читаемым невооружённым глазом
> и хранить в БД как текст.

Из буфера чтение каким образом произоводиться будет?
Вообще, советую попробовать что-то вроде
s:string;
s:=WordDocument.range(1,WordDocument.Characters.Count).text;
таким образом в s получишь текст (без всякого форматирования) в строчке. Далее можешь передавать ее в буфер или сохранять в БД.



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
15-1166870909
Parus
2006-12-23 13:48
2007.01.14
Впервые на экране.


15-1166785789
VitV
2006-12-22 14:09
2007.01.14
Существуют ли официальные библиотеки .Нет по линукс?


8-1148145044
Efir
2006-05-20 21:10
2007.01.14
Работа с палитрой в Delphi


15-1166631451
IMHO
2006-12-20 19:17
2007.01.14
"Война - войной, а обед - по расписанию"


15-1167118313
pavel_guzhanov
2006-12-26 10:31
2007.01.14
Чем можно просмотреть файлы с расширением .fpt?