下面一段代码,你看能不能用上.
procedure TfrmBug.tbToWordClick(Sender: TObject);
var
word ,t : OleVariant;
i:integer;
begin
word := CreateOleObject('Word.Application');
word.Visible := True;
Word.Activate;
Word.documents.Add;
with dbgt_plan.DataSource.DataSet do
begin
first;
i :=1;
while not eof do
begin
t := Word.ActiveDocument.Tables.Add(Word.Selection.Range, 5, 4);
t.Select;
Word.Selection.Cells.Borders.Item($FFFFFFFF).LineStyle := 1;
Word.Selection.Cells.Borders.Item($FFFFFFFE).LineStyle := 1;
Word.Selection.Cells.Borders.Item($FFFFFFFD).LineStyle := 1;
Word.Selection.Cells.Borders.Item($FFFFFFFC).LineStyle := 1;
Word.Selection.Cells.Borders.Item($FFFFFFFB).LineStyle := 1;
Word.Selection.Cells.Borders.Item($FFFFFFFA).LineStyle := 1;
//Tables.Item(1)代表文档中的第一个表格,并将此行合成一行.
t := Word.ActiveDocument.Tables.Item(i);
t.Rows.Item(1).Select;
Word.Selection.Cells.Merge;
// Word.Selection.Cells.Borders.Item($FFFFFFFF).LineStyle := 0;
// Word.Selection.Cells.Borders.Item($FFFFFFFE).LineStyle := 0;
// Word.Selection.Cells.Borders.Item($FFFFFFFC).LineStyle := 0;
t := Word.ActiveDocument.Tables.Item(i);
t.Rows.Item(3).Select;
Word.Selection.Cells.Merge;
//Word.Selection.Cells.Borders.Item($FFFFFFFF).LineStyle := 0;
//Word.Selection.Cells.Borders.Item($FFFFFFFE).LineStyle := 0;
//Word.Selection.Cells.Borders.Item($FFFFFFFC).LineStyle := 0;
t.Cell(1,1).Range.InsertAfter('软件故障通知单');
t.Cell(2,1).Range.InsertAfter('姓名');
t.Cell(2,3).Range.InsertAfter('小组');
t.Cell(3,1).Range.InsertAfter('你 年 月 日提交的版本,存在以下缺陷,希望不断改进;');
t.Cell(4,1).Range.InsertAfter('序号');
t.Cell(4,2).Range.InsertAfter('故障现象/说明');
t.Cell(4,3).Range.InsertAfter('严重程度');
t.Cell(4,4).Range.InsertAfter('问题难度');
t.Cell(2,2).Range.InsertAfter(dbgt_plan.Columns[4].Field.AsString);
t.Cell(5,1).Range.InsertAfter('1');
t.Cell(5,2).Range.InsertAfter(dbgt_plan.Columns[12].Field.AsString);
t.Cell(5,3).Range.InsertAfter(dbgt_plan.Columns[8].Field.AsString);
t.Cell(5,4).Range.InsertAfter(dbgt_plan.Columns[7].Field.AsString);
//下面这行是插入一个回车键
Word.ActiveDocument.Range.InsertAfter(Text:=#10#13);
//下面两行是跳出表格.
Word.ActiveDocument.tables.item(i).Cell(5,4).range.select;
Word.Application.Selection.MoveDown(5, 4);
Next;
Inc(i);
end;
end;
end;