كود :
procedure create_file(filnam:string;mnth,yer,mntq,kem,aml:string);
var
WordApp, NewDoc, WordTable: Variant;
iRows, iCols, iGridRows, jGridCols: Integer;
begin
try
WordApp := CreateOleObject('Word.Application');
except
Exit;
end;
WordApp.Documents.Open(filnam);
// WordApp.Documents.Add;
NewDoc := WordApp.ActiveDocument;
WordApp.ActiveDocument.Range.Font.Name := 'Times New Roman';
WordApp.ActiveDocument.Range.Font.size:= 10;
WordApp.ActiveDocument.Range.Bold := True;
WordApp.Selection.range.ParagraphFormat.Alignment :=wdAlignParagraphright;
iCols :=frm_kafel_to_kfl.DataSource1.DataSet.RecordCount+1;
iRows := 12;
WordApp.Selection.Range.pagesetup.rightmargin:=10;
WordApp.Selection.Range.pagesetup.leftmargin:=10;
WordApp.Selection.Range.pagesetup.TopMargin:=150;
WordApp.Selection.Range.pagesetup.BottomMargin:=150;
frm_kafel_to_kfl.ProgressBar1.Min:=0;
frm_kafel_to_kfl.ProgressBar1.max:=(frm_kafel_to_kfl.DataSource1.DataSet.RecordCount+1)*12;
frm_kafel_to_kfl.ProgressBar1.Position :=0;
WordApp.Selection.TypeText(' السلام عليكم');
WordApp.Selection.TypeText(#13#10#13#10);
WordApp.Selection.TypeParagraph;
WordApp.Selection.TypeText(' السلام عليكم ('+mnth+') السلام عليكم ('+yer+') السلام عليكم ('+mntq+') السلام عليكم ('+kem+') السلام عليكم('+aml+')');
WordApp.Selection.TypeText(#13#10#13#10);
WordApp.ActiveDocument.Range.Bold := true;
WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows);
NewDoc.Tables.Item(1).Columns.Item(1).SetWidth(25,0);// م
NewDoc.Tables.Item(1).Columns.Item(2).SetWidth(45,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(3).SetWidth(70,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(4).SetWidth(50,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(5).SetWidth(50,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(6).SetWidth(50,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(7).SetWidth(80,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(8).SetWidth(85,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(9).SetWidth(130,0);// العنوان
NewDoc.Tables.Item(1).Columns.Item(10).SetWidth(85,0);// السلام عليكم
NewDoc.Tables.Item(1).Columns.Item(11).SetWidth(70,0);// السلام عليكم
WordTable.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleSingle;
WordTable.Borders.Item(wdBorderRight).LineStyle:=wdLineStyleSingle;
WordTable.Borders.Item(wdBorderTop).LineStyle:=wdLineStyleSingle;
WordTable.Borders.Item(wdBorderBottom).LineStyle:=wdLineStyleSingle;
WordTable.Borders.Item(wdBorderVertical).LineStyle:=wdLineStyleSingle;
WordTable.Borders.Item(wdBorderHorizontal).LineStyle:=wdLineStyleSingle;
WordTable.Cell(1,1).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,1).Range.Font.Size := 10;
WordTable.Cell(1,1).Range.Font.Bold := true;
WordTable.Cell(1,1).Range.Text :='م';
WordTable.Cell(1,2).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,2 ).Range.Text :='رقم استمارة اليتيم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,3).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,3 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,4).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,4 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,5).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,5 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,6).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,6 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,7).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,7 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,8).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,8 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,9).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,9 ).Range.Text :='ا السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,10).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,10 ).Range.Text :=' السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,11).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,11 ).Range.Text :='ا السلام عليكم';
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(1,12).Range.Paragraphs.Alignment := 4;
WordTable.Cell(1,12 ).Range.Text :=' السلام عليكم';
if iCols>1 then
frm_kafel_to_kfl.DataSource1.DataSet.First;
for jGridCols := 2 to iCols do
begin
WordTable.Cell(jGridCols,1).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,1 ).Range.Text :=inttostr(jGridCols-1);
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,2).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,2 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_id').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,3).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,3 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_f_name').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,4).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,4 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_l_name').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,5).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,5 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('f_name').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,6).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,6 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_mather').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,7).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,7 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('y_birth_date').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,8).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,8 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('m_mobil').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,9).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,9 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('m_address').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,10).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,10 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('istlam_date').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,11).Range.Paragraphs.Alignment := 4;
WordTable.Cell(jGridCols,11 ).Range.Text := frm_kafel_to_kfl.DataSource1.DataSet.FieldByName('mst_f_name').AsString;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
WordTable.Cell(jGridCols,12 ).Range.Text := '';
frm_kafel_to_kfl.DataSource1.DataSet.Next;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.Position +1;
Application.ProcessMessages;
end;
WordApp.ActiveDocument.Range. InsertAfter(#13#10' السلام عليكم أ السلام عليكم السلام عليكم ' );
WordApp.Selection.range.ParagraphFormat.Alignment :=wdAlignParagraphLeft;
frm_kafel_to_kfl.ProgressBar1.Position :=frm_kafel_to_kfl.ProgressBar1.max;
Application.ProcessMessages;
NewDoc.Saveas(filnam, False) ;
WordApp.Quit(False);
end;