Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.46 MB
Время: 0.047 c
4-1077017998
Clift
2004-02-17 14:39
2004.04.25
LVM_GETITEMPOSITION


7-1077457486
HydraMarat
2004-02-22 16:44
2004.04.25
Распознавание текста


4-1077969851
Vlad25
2004-02-28 15:04
2004.04.25
GetKeyboardState


14-1081082762
Serious Sam
2004-04-04 16:46
2004.04.25
Что такое TRAY?


8-1074069795
Vladgul
2004-01-14 11:43
2004.04.25
Помогите. Видео проигрывается без звука :-(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский