OLE в Делфи
От: Troll_81  
Дата: 29.07.06 14:19
Оценка:
В общем мне неообходимо реализовать такую вещь:
Отчет в приложении, но что б макет отчёта мог менять пользователь программы и при создании/печати отчёта туда подставлялись данные и БД. Обдумав ситуацию, я не придумал ни чего лучше, чем создать макет в ворде и занружать ворд из программы соответсвенно с этим макетом.
Получилось что-то вроде:

procedure TFrm_Main.TB_RepKartClick(Sender: TObject);
var XPWord : Variant;
Template : OleVariant;
begin
ConIni := TIniFile.Create(extractfilepath(paramstr(0))+'App.ini');
Mask := ConIni.ReadString('Options', 'Mask', ' ');
ConIni.Free;
//Открываем шаблон договора
Template := 'D:\kart.dot';
XPWord := CreateOleObject('Word.Application');
XPWord.Documents.Add(Template, EmptyParam);
XPWord.Visible := TRUE;
end;

Это всё замечательно работает. А теперь возник вопрос (немного позновато), какие метки можно проставить в шаблоне и как их отловить из делфи, что бы в нужные места вставить данные из БД?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.