Главная страница
    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.46 MB
Время: 0.044 c
15-1170419959
Observer
2007-02-02 15:39
2007.02.25
Загрузка


1-1168109275
Kolan
2007-01-06 21:47
2007.02.25
Как добраться до пункта меню если у него есть TAction


2-1171013394
slaga
2007-02-09 12:29
2007.02.25
Как прочитать текстовый файл с конца ?


2-1170522645
Defort
2007-02-03 20:10
2007.02.25
Пусто или же не пусто?


2-1170941021
Vas
2007-02-08 16:23
2007.02.25
SQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский