Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизОтчёт Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c