//合并Word 表格中单元格
procedure mergeWordCell;
var WordApp: TWordApplication;
??? WordDoc: TWordDocument;
??? DocInx,oFileName,CfCversions,oReadOnly,AddToRctFiles,PswDocument,
??? PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat: OleVariant;
??? i,iRow,iCol:integer;
??? myCell:Cell;
??? myRow:Row;
begin
? memo1.Lines.Clear ;
??? // ===== 创建对象 =====
??? if not Assigned(WordApp) then?????????????????????????
??? begin
????? WordApp:= TWordApplication.Create(nil);
????? WordApp.Visible := false;
??? end;
??? if not Assigned(WordDoc) then
????? WordDoc:= TWordDocument.Create(nil);
? try
??? DocInx:=1;
??? oFileName := \'d:\test.doc\';
??? oReadOnly:=true;
??? CfCversions := EmptyParam;
??? AddToRctFiles:= EmptyParam;
??? PswDocument:= EmptyParam;
??? PswTemplate:= EmptyParam;
??? oRevert:= EmptyParam;
??? WPswDocument:= EmptyParam;
??? WPswTemplate:= EmptyParam;
??? oFormat:= EmptyParam;????
??? // ===== 打开文件 =====????????????????????????
??? WordApp.Documents.open(oFileName,CfCversions,oReadOnly,AddToRctFiles,
?????? PswDocument,PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat);
??? // ===== 关联文件 =====
??? WordDoc.ConnectTo(WordApp.Documents.Item(DocInx));
??? //合并第一、二列
??????? iStart:=WordDoc.Tables.Item(i).Cell(1,1).Range.Start;
??????? myCol:= WordDoc.Tables.Item(i).Columns.Item(2);
??????? iEnd:=myCol.Cells.Item(myCol.Cells.Count).Range.End_;
??????? myRange:=WordDoc.Range;
??????? myRange.Start:=iStart;
??????? myRange.End_ :=iEnd;
??????? myRange.Cells.Merge;
? finally
??? if Assigned(WordDoc) then???? // ===== 关闭文件 =====
??? begin
????? WordDoc.Close;
????? WordDoc.Disconnect;
????? WordDoc.Destroy;
????? WordDoc := nil;
??? end;
??? if Assigned(WordApp) then??????// ===== 关闭Word =====
??? begin
????? WordApp.Quit;
????? WordApp.Disconnect;
????? WordApp.Destroy;
????? WordApp := nil;
??? end;
? end;
end;