Вниз
Скачать: 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.023 c
6-1077491066
Novichok
2004-02-23 02:04
2004.04.25
Socket и Buffer


14-1080838019
Desdechado
2004-04-01 20:46
2004.04.25
Как для конкретного юзера винды ХР заблокировать флоп


14-1080684740
ИМХО
2004-03-31 02:12
2004.04.25
Посоветуйте проверенную прогу


8-1074241238
Darlock
2004-01-16 11:20
2004.04.25
Порезка изображений експортированых из TImageList


14-1080647782
panov
2004-03-30 15:56
2004.04.25
Настройка учетных записей.




   Наверх