Вниз
Скачать: CL | DM;

Отчёт   Найти похожие ветки 

← →
wer   (2004-04-05 14:41) [0]

Как сделать чтобы при нажатии на кнопку, отчёт выводился в Word
по определённому шаблону который установлен заранее только данные автоматически вставляются в положенные им места. И как сделать такой шаблон?


← →
infom ©   (2004-04-05 14:52) [1]

просто выделяешь текст куда хочешь вставить и встевляешь, формат остается таким-же


← →
VLAD-MAL   (2004-04-05 15:32) [2]



wdApp : TWordApplication;
wdDoc : TWordDocument;

...

var ItemIndex,
NewTemplate, TemplateFileName, DocumentType,
VisibleDoc : OleVariant;
tmpwdDoc : TWordDocument;
begin
try
 try                  // Попытка коннекта
   if wdApp.Application <> nil then;
    if wdApp.Documents.Count = 0 then
       wdApp.Connect;
   ItemIndex := wdApp.Documents.Count + 1;
   TemplateFileName := ExtractFilePath(Application.ExeName)+ "Шаблон.dot";
   NewTemplate := False;
   DocumentType := wdTypeDocument;
   VisibleDoc := False;
    wdApp.Documents.Add(TemplateFileName, NewTemplate, DocumentType, VisibleDoc );

   wdDoc.ConnectTo(wdApp.Documents.Item(ItemIndex));
 except
   on E : Exception do begin
     ShowMessage("Ошибка активизации приложения Microsoft Word. "+
      E.Message);
     if Assigned(wdApp) then
       if (wdApp.Documents.Count > 0) then begin
         wdApp.AutoQuit := True; // Пусть не зависает фигня в системе!
...
       end;
    exit
   end;
 end;

 try
   BuildReport;
 except
   on E : Exception do begin
     ShowMessage("Ошибка создания отчета в Microsoft Word. "+
      E.Message);
     if Assigned(wdApp) then
       if (wdApp.Documents.Count > 0) then
         wdApp.AutoQuit := True; // Пусть не зависает фигня в системе!
    exit
   end;
 end

finally
...
end;

end;

procedure TForm1.BuildReport;
begin
 if not wdApp.Visible then
 wdApp.Visible := True
... Здесь коцаем документ, созданный из шаблона...
end;



Удачи


← →
Valerian   (2004-04-05 15:51) [3]

Я использую WordApplication.
Var V:Variant;
dot,dot2:Olevariant;
Запустить Word (при том он следит за экземплярами, если экземпляр Word имеется, активизирует, если нет запускает Word):
Шаблон готовлю на Word-е (dot файл).
    dot:= имя файла шаблона
    dot2:=False;
    Try
    V:=GetActiveOLEObject("Word.Application")
    Except
    V:=CreateOLEObject("Word.Application")
    end;
    V.Visible:=True;
    V.Documents.Add(dot,dot2);
В принципе команды для Word-а можно посмотреть с помощью макросов. Все операции записываешь в макросы. А с макросов надо переложить в Delphi.
Примерно в таком виде(Поиск слов в Word-e):
V.selection.Find.Text:= "Фамилия_ Имя_ Отчество_";
V.Selection.Find.Execute;
V.Selection.Typetext("Иванов");



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

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



Память: 0.46 MB
Время: 0.038 c
3-1080640978
Виктор
2004-03-30 14:02
2004.04.25
Description таблиц базы Firebird


3-1080290416
lgz
2004-03-26 11:40
2004.04.25
DTS в Дельфи


8-1074160766
booblik
2004-01-15 12:59
2004.04.25
Как узнать что курсор внутри изображения кривой формы?


9-1067757990
Micah'GF
2003-11-02 10:26
2004.04.25
Из Picture исчез DIB


14-1080732293
Knight
2004-03-31 15:24
2004.04.25
Поделитесь способами отлова неизвестных вирусов...




   Наверх