Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: 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 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
7-1073774726
murdor
2004-01-11 01:45
2004.04.25
Комнонент для работы с LPT


14-1080717574
DoKi
2004-03-31 11:19
2004.04.25
Как сделать такую пр-му,нападобе ArtMoney, чтобы можно было


1-1081253872
infom
2004-04-06 16:17
2004.04.25
Поиск


1-1080867296
Marat_D
2004-04-02 04:54
2004.04.25
Проблема с DLL и StrinGrid-ом...


1-1081334625
_Павел_
2004-04-07 14:43
2004.04.25
Какой элемент можества TCustomDrawState отвечает за...