Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.25;
Скачать: CL | DM;

Вниз

Нужно создать форму (таблицу из WORD).   Найти похожие ветки 

 
@tom ©   (2007-02-05 13:48) [0]

Нужно создать форму (таблицу из WORD). Потом программно изменить в ней часть текста и вывести на печать на А4.
Если кто знает, как это сделать, напишите пожалуйста. И вопрос номер два, можно эту форму преобразовать в HTML страницу, но как с помощью программы ее открыть и вывести на печать, для меня загадка. Может кто подскажет. Зарание благодарю, если что пишите прямо в мыло!


 
Johnmen ©   (2007-02-05 14:44) [1]


> Нужно создать форму (таблицу из WORD)

Так форму или таблицу? Где создать? Ты уж определись как-нибудь. Заодно объясни, что есть "форма" и "таблица".


 
Fredy314 ©   (2007-02-05 16:17) [2]

кусок из моей проги работает.

Procedure TMainForm.doExportToWord2(SG1, SG2: TStringGrid; TextBefore1, TextAfter1, TextBefore2, TextAfter2: String);
Var
 Word              : Variant;
Begin
 {  Try
     Word := GetActiveOleObject("Word.Application");
   Except
     Word := CreateOleObject("Word.Application");
   End;
    }
 Word := CreateOleObject("Word.Application");
 Word.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
 Word.Visible := true;
 Word.Selection.TypeText(TextBefore1);
 doExportToWord1(Word, SG1);
 Word.Selection.TypeText(TextAfter1);
 Word.Selection.TypeParagraph;
 Word.Selection.TypeText(TextBefore2);
 doExportToWord1(Word, SG2);
 Word.Selection.TypeText(TextAfter2);
 Word.Selection.TypeParagraph;
 Word.ActiveDocument.saved := true;
 Word := null;
End;

Procedure TMainForm.doExportToWord1(Word: Variant; SG: TStringGrid);
Var
 s                 : String;
 i, j, k           : Integer;
 Table             : OleVariant;
Begin

 Table := Word.Selection.Range.Tables.Add(Range := Word.Selection.Range, NumRows := SG.RowCount, NumColumns := SG.ColCount,
   DefaultTableBehavior := 0, AutoFitBehavior := true);
 For i := 0 To SG.RowCount - 1 Do
   Begin
     For j := 0 To SG.ColCount - 1 Do
       Begin
         s := SG.Cells[j, i];
         If i = 0 Then
           Begin
             If Length(s) > 0 Then
               If s[1] = "-" Then
                 Begin
                   s := copy(s, 2, 250);
                 End;
             k := FieldsDef.IndexOf(s);
             If k > -1 Then s := FieldsNames[k];
             Table.cell(i + 1, j + 1).Range.Shading.BackgroundPatternColor := $D0D0D0;
           End;
         If (j = 0) And (i <> 0) Then s := Inttostr(i);
         Table.cell(i + 1, j + 1).Range := s;
         Application.ProcessMessages;
       End;
   End;
 Table.Columns.AutoFit;
 Word.Selection.EndKey(6 {wdStory});
End;



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
2-1170935401
niil
2007-02-08 14:50
2007.02.25
Копии TabSheet в рантайме


1-1167921744
Ragazor
2007-01-04 17:42
2007.02.25
Выделение цветом в Devex гриде


4-1150218782
Igor Stepanov
2006-06-13 21:13
2007.02.25
Программирование работы с USB-портом


3-1165168049
001
2006-12-03 20:47
2007.02.25
Текстовая база


15-1170369350
SerJaNT
2007-02-02 01:35
2007.02.25
Зацените!