Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.03 c
2-1166432834
tsv
2006-12-18 12:07
2007.01.14
открытие файла


1-1163952134
Calibr
2006-11-19 19:02
2007.01.14
Ассоциирование файла с программой


3-1162187801
vlgrig1961
2006-10-30 08:56
2007.01.14
Есть ли в SQL для парадокса что-то вроде To_Char конверт из цифр


1-1164118352
312kbps
2006-11-21 17:12
2007.01.14
Ini файл, не работает DeleteKey() !


15-1166888396
BanserAnt
2006-12-23 18:39
2007.01.14
Winsock2




   Наверх