ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Delphi与Word(一)合并Word 表格中单元格 (转)

Delphi与Word(一)合并Word 表格中单元格 (转)

原创 Linux操作系统 作者:amyz 时间:2007-08-15 15:46:45 0 删除 编辑
Delphi与Word(一)合并Word 表格中单元格 (转)[@more@]

//合并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: est.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;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-958544/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: Delphi与Excel (转)
请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7895803