uses  ComObj,word2000
 
procedure TForm1.ExportWord();
var
FWord :Variant;
FDoc :Variant;
i,Row:Integer;
nodeString:Tstringlist;
nodeList:TList;
Tables,TablesSub:Variant;
sTableName,sUserName:string;
CfCversions,oReadOnly,AddToRctFiles,
PswDocument,PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat,Where,vActWin:Variant;
UserNameList:TStringList;
begin
  nodeList:=TList.Create;
  UserNameList:=TStringList.Create;
  try
    try
      //启动word应用程序
      FWord:=GetActiveOleObject('Word.Application');
    except
      FWord := CreateOleObject('Word.Application');
    end;
     FWord.Visible := False;
 
    try
    //创建一个word文档
    FDOC :=FWord.Documents.Add;
    vActWin   :=   FWord.ActiveWindow;
    FWord.Selection.Font.Name :='宋体'; //字体名称
    FWord.Selection.Font.Size :=20; //字体大小
    FWord.Selection.Font.Bold :=2; //字体加粗
 
    //设定文字对齐方式
    FWord.Selection.paragraphs.Alignment := wdAlignParagraphCenter;
    //添加文字内容
    FWord.Selection.TypeText('标题一');
    //插入回车符
    FWord.Selection.Typeparagraph;
 
    FWord.Selection.paragraphs.Alignment := wdAlignParagraphLeft;
    FWord.Selection.Font.Size :=12;
    FWord.Selection.Font.Bold :=0;
    FWord.Selection.Typeparagraph;
 
    //添加一个2行3列的表格
    Tables:=FWord.ActiveDocument.Tables.Add(Range:=FWord.Selection.Range,
    NumRows:=2,
    NumColumns:=3,
    DefaultTableBehavior:=1,
    AutoFitBehavior:=0);
    //设置第二行表格的高度
    Tables.Rows.Item(2).SetHeight(250,1);
 
    FWord.Selection.range.rows.headingformat:=wdtoggle;
 
    Tables.rows.allowbreakacrosspages:=wdtoggle;
 
 
    //设置表格第一行的对齐方式
     Tables.Rows.item(1).Alignment   :=   wdAlignRowCenter;
     //向表格添加内容
     Tables.Cell(1,1).Range.Text:='局长';
     Tables.Cell(1,2).Range.Text:='厅长';
     Tables.Cell(1,3).Range.Text:='部长';
     MoveDown(FWord,1);
     //插入一个正方形符号
     FWord.Selection.InsertSymbol(Font:='+中文正文', CharacterNumber:=9633, Unicode:=True);
     FWord.Selection.TypeText('建议以下述方式做'+#13      +'工作的总结'+#13);
    FWord.Selection.Typeparagraph;
 
    TablesSub:=FWord.ActiveDocument.Tables.Add(Range:=FWord.Selection.Range,
    NumRows:=1,
    NumColumns:=1,
    DefaultTableBehavior:=1,
    AutoFitBehavior:=0);
 
    TablesSub.Columns.Item(1).SetWidth(136,1);
    FWord.Selection.TypeText('    ');
    //插入一个园形符号
    FWord.Selection.InsertSymbol(Font:='+中文正文', CharacterNumber:=9675, Unicode:=True);
    FWord.Selection.TypeText('     ');
    FWord.Selection.InsertSymbol(Font:='+中文正文', CharacterNumber:=9675, Unicode:=True);
    FWord.Selection.TypeText('     ');
    FWord.Selection.InsertSymbol(Font:='+中文正文', CharacterNumber:=9675, Unicode:=True);
    FWord.Selection.TypeText(#13);
    FWord.Selection.TypeText(' '+'总结会议'+' '+'公函'+'  '+'电话');
    MoveDown(FWord,1);
    FWord.Selection.TypeText('意见');
    Tables.Cell(2,2).Range.Text:=''+#13+'意见';
    Tables.Cell(2,3).Range.Text:=''+#13+'批示';
    MoveEnd(FWord);
 
    for i:=1 to 30 do
    begin
    FWord.Selection.TypeText('');
    FWord.Selection.Typeparagraph;
    end;
 
    //设置边距  上边距topmargin 下bottommargin 左leftmargin 右 right.....
    FWord.ActiveDocument.pagesetup.topmargin:=20;
    FWord.ActiveDocument.pagesetup.bottommargin:=40;
    FWord.ActiveDocument.pagesetup.leftmargin:=80;
    FWord.ActiveDocument.pagesetup.rightmargin:=100;
 
 
    //操作页尾
     FWord.ActiveWindow.ActivePane.View.SeekView   :=   wdSeekCurrentPageFooter;
     FWord.Application.Selection.ParagraphFormat.Alignment   :=   wdAlignParagraphLeft;
     FWord.Application.Selection.TypeText('人员'+'UserNameList.CommaText');
     FWord.Selection.Typeparagraph;
     FWord.Application.Selection.TypeText('日期'+FormatDateTime('YYYY-MM-DD',now));
     FWord.ActiveWindow.ActivePane.View.SeekView:=wdSeekMainDocument;
 
 
 
    Except
    on e: Exception do
    begin
      FWord.Quit;
      FWord := Unassigned;
      exit;
    end;
    end;
    FWord.Caption :=ExtractFilePath(application.ExeName)+'name.doc';
   //保存为97-2003格式
    FDOC.SaveAS(ExtractFilePath(application.ExeName)+'审计简报.doc',wdFormatDocument);
    //FDOC.SaveAS(ExtractFilePath(application.ExeName)+'name.doc');
    oReadOnly:=False;
    CfCversions := EmptyParam;
    AddToRctFiles:= EmptyParam;
    PswDocument:= EmptyParam;
    PswTemplate:= EmptyParam;
    oRevert:= EmptyParam;
    WPswDocument:= EmptyParam;
    WPswTemplate:= EmptyParam;
    oFormat:= EmptyParam;
    FWord.Documents.open(FWord.Caption,CfCversions,oReadOnly,AddToRctFiles,
    PswDocument,PswTemplate,oRevert,WPswDocument,WPswTemplate,oFormat);
  finally
     Screen.Cursor:=crdefault;
     nodeList.free;
     UserNameList.Free;
  end;
end;
procedure TForm1.MoveEnd(fword:olevariant);
var
unit_: olevariant;
extend: olevariant;
begin
  unit_ := wdstory;
  extend := wdmove;
  fword.selection.endkey(unit_, extend);
end;
 
procedure TForm1.movedown(fword:olevariant;num: integer = 1);
var
unit_: olevariant;
count: olevariant;
extend: olevariant;
begin
  try
  count := num;
  unit_ := wdline;
  fword.selection.movedown(unit_, count, extend);
  except
  end;
end;
procedure TForm1.moveup(fword:olevariant;num: integer = 1);
var
unit_: olevariant;
count: olevariant;
extend: olevariant;
begin
  unit_ := wdline;
  count := 1;
  fword.selection.moveup(unit_, count, extend);
end;

delphi 操作 word的更多相关文章

  1. Delphi 操作word 表格

    var wordApp, WordDoc, WrdSelection, wrdtable: variant; strAdd: string; wdPar,wdRange:OleVariant; iCo ...

  2. Delphi 操作Word怎么控制光标的位置

    unit ControlWordS; interface uses Classes, Sysutils, Word97; type  TControlWord = class(TComponent)  ...

  3. delphi 换行操作 Word

    delphi 换行操作 我将我的商用<旅行社管理系统>的 发团通知 部分奉献给您,望对您有所帮助. procedure TFrmMain.N327Click(Sender: TObject ...

  4. 用DELPHI操作EXCEL Word

    用DELPHI操作EXCEL 在DELPHI中显示EXCEL文件,可用以下简单代码做到.但要实用,则需进一步完善. var  Form1: TForm1;  EApp:variant;implemen ...

  5. Delphi 统计Word文档中的字数

    急待解决的问题就是如何用delphi实现word中的统计字数 另外想多了解一些关于操作word的相关内容 比如用ole动态创建的和TWordApplication的偏重点在哪里,有什么不同等等…… 用 ...

  6. delphi操作xml学习笔记 之一 入门必读

    Delphi 对XML的支持---TXMLDocument类       Delphi7 支持对XML文档的操作,可以通过TXMLDocument类来实现对XML文档的读写.可以利用TXMLDocum ...

  7. python操作word入门

    1.安装pywin32 http://sourceforge.net/projects/pywin32 在files里去找适合你的python版本.截止此文,最新版本是pywin32-219快捷路径: ...

  8. C#中操作Word(1)—— word对象模型介绍

    一.开发环境布置 C#中添加对Word的支持,只需添加对Microsoft.Office.Interop.Word的命名空间,如下图所示,右键点击“引用”,在弹出的“添加引用”对话框中选中COM标签页 ...

  9. C#操作Word的超详细总结

    本文中用C#来操作Word,包括: 创建Word: 插入文字,选择文字,编辑文字的字号.粗细.颜色.下划线等: 设置段落的首行缩进.行距: 设置页面页边距和纸张大小: 设置页眉.页码: 插入图片,设置 ...

随机推荐

  1. 转一篇:文档笔记之Django QuerySet

    这个放着,说不定以后作一些更深入的查询时,用得着的. http://www.rapospectre.com/blog/7/ 今天刚刚答完辩体完检就跑来更新博客了!!! 先补上第一篇: 一般情况下,我们 ...

  2. C Primer Plus 第5章 运算符、表达式和语句 编程练习

    1. #include <stdio.h> ; int main(void) { int min, hour, lmin; printf("请输入分钟数: \n"); ...

  3. 查杀linux线程指令

      工作中重启环境时常常出现内存溢出等等问题,往往需要查杀进程来帮助重启成功,下面就查杀线程的详细指令做下总结:   1.查找需要kill掉的线程: ps -elf|grep [线程关键信息] 比如: ...

  4. cojs 疯狂的重心 疯狂的机器人 题解报告

    疯狂的重心 话说做过幻想乡战略游戏的人应该很容易切掉这道题目吧 我们考虑一棵树如果添加了一个叶子,那么其重心最多向叶子方向移动1的距离 而是否移动我们只需要记录子树中有多少个点就可以判断啦 也就是说这 ...

  5. lintcode :旋转字符串

    题目: 旋转字符串 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 样例 对于字符串 "abcdefg". offset=0 => "abcdef ...

  6. MIT算法导论——第五讲.Linear Time Sort

    本栏目(Algorithms)下MIT算法导论专题是个人对网易公开课MIT算法导论的学习心得与笔记.所有内容均来自MIT公开课Introduction to Algorithms中Charles E. ...

  7. 转 Android的消息处理机制(图+源码分析)——Looper,Handler,Message

    作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想.android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种 ...

  8. 简单的SocketExample

    客户端//---------------VerySimpleClient.java package SocketExample; // Tue Nov 2 18:34:53 EST 2004 // / ...

  9. Android权限安全(5)组件的android:exported属性

    Android四大组件都有 android:exported 属性 android:exported="true" 时 表示该组件是公开的,其它组件可以访问这个组件 android ...

  10. Miller-Rabin素数测试学习小计

    1.Miller-Rabin是干啥的?它是用来检测一个数字(一般是很大的数字)是不是素数: 2.Miller-Rabin算法基于的两个定理: (1)费尔马小定理:如果p是一个素数,且0<a< ...