Главная страница
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.029 c
10-1127993555
BPK
2005-09-29 15:32
2007.01.14
TOLEContainer + MSWord = сохранить в память как HTML


1-1164358778
bva
2006-11-24 11:59
2007.01.14
Длинная строка в ComboBox


2-1166698756
Gerda
2006-12-21 13:59
2007.01.14
Форма всегда на экране


1-1163803640
SkySpeed
2006-11-18 01:47
2007.01.14
Как определелить конец распечатки информации?


1-1164182036
DelphiLexx
2006-11-22 10:53
2007.01.14
DBGridEh и его Title