delphi通过OLE对word进行单元格合并操作

来源:互联网 发布:java获取session对象 编辑:程序博客网 时间:2024/05/07 13:23

上图为最终结果,

直接上代码:

 

uses comobj, word2000procedure TForm1.Button2Click(Sender: TObject);var  WordApp, WordDoc,table: OleVariant;  fileName          : string;begin  WordApp := CreateOleObject('Word.Application');  WordDoc := WordApp.Documents.Add;  try    WordDoc.PageSetup.LeftMargin := 0.39*72; // 1 英寸 = 72 磅    WordDoc.PageSetup.RightMargin := 0.39*72; // 1 英寸 = 72 磅    WordDoc.PageSetup.TopMargin := 1*72; // 1 英寸 = 72 磅    WordDoc.PageSetup.BottomMargin  := 1*72; // 1 英寸 = 72 磅    WordDoc.PageSetup.PaperSize := wdPaperA4; //A4纸    WordApp.Selection.Font.Name := '黑体';    WordApp.Selection.Font.Size := 22;//二号字体 单位:磅    WordApp.Selection.Font.Bold := True;//字体加粗    WordApp.Selection.Font.Color := wdColorBlue;//字体颜色    WordApp.Selection.ParagraphFormat.Alignment := wdAlignParagraphCenter; //段落中文本居中    WordApp.Selection.ParagraphFormat.LineSpacingRule := wdLineSpaceSingle;//单倍行距    WordApp.Selection.TypeText('学生对教师教学工作总体评价');    WordApp.Selection.TypeParagraph;//回车    WordApp.Selection.TypeParagraph;//回车    table := WordApp.ActiveDocument.Tables.Add(WordApp.ActiveDocument.Paragraphs.item(3).Range,2,5); //往第三段增加一表格(2行5列)    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Size := 9;    WordApp.Selection.Font.Bold := False;    WordApp.Selection.Font.Color := wdColorBlack;    table.cell(1,1).VerticalAlignment := wdCellAlignVerticalCenter;    WordApp.Selection.TypeText('教师姓名');    table.Cell(1, 1).Merge(table.Cell(2, 1));    table.Cell(1, 2).Merge(table.Cell(1, 5));    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlue;    WordApp.Selection.Font.Bold := True;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('对 教 师 教 学 工 作 的 综 合 评 价');    WordApp.Selection.TypeParagraph;    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := True;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('A');    WordApp.Selection.TypeParagraph;    WordApp.Selection.Font.Size := 9;    WordApp.Selection.Font.Bold := False;    WordApp.Selection.TypeText('非常满意');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := True;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('B');    WordApp.Selection.TypeParagraph;    WordApp.Selection.Font.Size := 9;    WordApp.Selection.Font.Bold := False;    WordApp.Selection.TypeText('满意');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := True;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('C');    WordApp.Selection.TypeParagraph;    WordApp.Selection.Font.Size := 9;    WordApp.Selection.Font.Bold := False;    WordApp.Selection.TypeText('基本满意');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := True;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('D');    WordApp.Selection.TypeParagraph;    WordApp.Selection.Font.Size := 9;    WordApp.Selection.Font.Bold := False;    WordApp.Selection.TypeText('不满意');    WordApp.Selection.MoveRight(wdCell,1);//新增一行    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := false;    WordApp.Selection.Font.Size := 10.5;    WordApp.Selection.TypeText('教师A');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := true;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('94');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.TypeText('6');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.TypeText('0');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.TypeText('0');        WordApp.Selection.MoveRight(wdCell,1);//新增一行    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := false;    WordApp.Selection.Font.Size := 10.5;    WordApp.Selection.TypeText('教师B');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.Font.Name := '宋体';    WordApp.Selection.Font.Color := wdColorBlack;    WordApp.Selection.Font.Bold := true;    WordApp.Selection.Font.Size := 12;    WordApp.Selection.TypeText('92');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.TypeText('8');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.TypeText('0');    WordApp.Selection.MoveRight(wdCell,1);    WordApp.Selection.TypeText('0');    table.Rows.Alignment := wdAlignRowCenter;//表格居中    table.Borders.Item(wdBorderLeft).LineStyle:=wdLineStyleSingle;    table.Borders.Item(wdBorderRight).LineStyle:=wdLineStyleSingle;    table.Borders.Item(wdBorderTop).LineStyle:=wdLineStyleSingle;    table.Borders.Item(wdBorderBottom).LineStyle:=wdLineStyleSingle;    table.Borders.Item(wdBorderHorizontal).LineStyle:=wdLineStyleSingle;    table.Borders.Item(wdBorderVertical).LineStyle:=wdLineStyleSingle;        fileName := ExtractFilePath(ParamStr(0)) + '总体总评.doc';    WordDoc.saveas(fileName);  finally    WordDoc.Saved := True;    WordDoc.Close;    WordApp.Quit;  end;  ShowMessage('ok');end;