Office自动化编程(1)

原创 2004年08月14日 20:58:00

1:控制Word文档

 {显示word档案}

 var NewWord:Variant;

...

  NewWord:=  CreateOLEObject('Word.Application');

  {

   当CreateOLEObject函数创建一个Word的Com对象之后,Word已经完全被构造起来了

   内存中已经存在一个Word进程,创建了Application对象

  }

  NewWord.Visible := True;   // 显示Word程序

 

  NewWord.Documents.Add;  // 增加一个Word文档,Application.Documents嵌套类

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  NewWord.Documents.Item(1).Range.Text:=  str;

  Document := NewWord.Documents.Item(1);

  Document.Paragraphs.Add;

 

  MyRange:= Document.Range(start:=0, end:=0);

 

2:向已存在的word表格中添加字符串

 

{ 以指定的模板文件创建新Word文档 }

  wordApp.Documents.AddOld(templateName, newTemplate);

  wordApp.Caption := ListBox1.Items.Strings[ListBox1.ItemIndex];

 

  case ListBox1.ItemIndex of

   0:

     begin

       { 取文档中的第1张表 }

       { 文档的表格是以序号来标志的 }

       vTable := wordApp.ActiveDocument.Tables.Item(1);

       vTable.Cell(1, 2).Range.Text := '李鑫 北京供电公司';

vTable.Cell(1, 4).Range.Text := '昆明锐祺软件';

 

vTable.Cell(2, 2).Range.Text := '昆明市白塔路延长线387号星耀大厦1102B 李鑫(收) 650051 (0871)3126628';

 

       vTable.Cell(3, 2).Range.Text := DateToStr(Now);

       vTable.Cell(3, 4).Range.Text := DateToStr(Now);

 

       vTable.Cell(5, 1).Range.Text := '哈哈哈哈哈哈,我也不知道了。';

       vTable.Cell(7, 1).Range.Text := '不知道了';

       vTable.Cell(9, 2).Range.Text := '不知道';

     end;

   1:

     begin

       ItemIndex := 1;

     end;

  end;

 

 

说明:

Document对象,下面有:

 

Range对象

Section对象

Charactions对象

Words对象

 

最重要的是Range对象,要对Decument文档的字符串操作,必须返回操作Doecment内的Range对象

用Document.Range(start, end),和Document.Range属性,都可以返回这个对象

 

每操作一段文本,必须取得Range这个表示文本的对象,果然非常是“面向对象“

 

3:  添加图片

 

procedure TForm1.Button2Click(Sender: TObject);
var
  w: Variant;
begin
  W:= CreateOleObject('Word.Application');
  W.Visible := True;
  W.Documents.open('c:/范例文章.doc');
  // W.ActiveDocument.SaveAs('TestDoc.doc');
  w.Selection.Font.Bold:= false;
  W.Selection.TypeText('Here goes my picture:');
  W.Selection.TypeParagraph;    // 加入一个段落


  W.Selection.InlineShapes.AddPicture( 'c:/相片2.jpg', False, True );
  W.Selection.TypeParagraph;   // 加入一个段落

end;

 

MS Office 自动化编程 - 从Word文档中获取文档属性

学习Office自动化之前先阅读一些COM书籍,对于理解Office自动化有很大帮助。以下示例代码使用VS2010进行编译。目前市面上已有的关于Office自动化的书籍,多是快餐式的,看过之后只能知道...
  • Augusdi
  • Augusdi
  • 2013年10月24日 15:19
  • 3897

VC++之Office自动化开发

去年底老板临时交给一个任务,为一个试验数据管理系统编写一个电子报告生成程序。因为老板也不怎么重视这个项目(钱少啊,呵呵),所以这个任务只好落在我这种小硕身上了。我也是两眼瞎,万事从头干。三个月的苦斗,...
  • Augusdi
  • Augusdi
  • 2013年10月24日 15:01
  • 4605

自定义开发的系统整合 office Web apps

其实网上有关office web app的整合已经有相关的文章了,典型的是如何整合Office Web Apps至自己开发的系统(一) 和如何整合Office Web Apps至自己开发的系统(二)...
  • jason_dct
  • jason_dct
  • 2017年01月18日 17:14
  • 2502

MS Office 自动化编程(一)---从Word文档中获取文档属性

学习Office自动化之前先阅读一些COM书籍,对于理解Office自动化有很大帮助。以下示例代码使用VS2010进行编译。目前市面上已有的关于Office自动化的书籍,多是快餐式的,看过之后只能知道...
  • leogray
  • leogray
  • 2012年05月19日 20:21
  • 3276

MS Office 自动化编程 - 从Word文档中获取文档属性

学习Office自动化之前先阅读一些COM书籍,对于理解Office自动化有很大帮助。以下示例代码使用VS2010进行编译。目前市面上已有的关于Office自动化的书籍,多是快餐式的,看过之后只能知道...
  • zuoyefeng1990
  • zuoyefeng1990
  • 2016年08月23日 13:48
  • 330

MS Office 自动化编程(二)---Word文档的读写

示例一:保存至Word 经过一些了解之后,就不需要每次都将所有的接口导入工程了。可以根据需要导入,此次导入的接口为: Application、_Document、Documents、Range。新...
  • leogray
  • leogray
  • 2012年05月20日 12:17
  • 2020

获取MS Office自动化编程的文档

关于怎么使用Office提供的COM接口编程的步骤我这里就不多说了,网上已经有很多文章讲述过了。我这里要讲的是,对于这种在编程接口的基础上的编程,要想灵活地运用它们,最重要的莫过于熟悉它的各种各样的函...
  • Augusdi
  • Augusdi
  • 2013年10月24日 15:23
  • 1643

Office自动化编程实例锦集使用剪贴板导出Excel文件

  • 2010年03月16日 16:44
  • 3.39MB
  • 下载

Office自动化编程实例锦集,C++.net源代码编写

  • 2010年03月16日 16:32
  • 8.85MB
  • 下载

vsc#2005实例精粹书籍源码---第4章 VSTO及Office自动化编程实例

  • 2008年10月08日 21:01
  • 24.01MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Office自动化编程(1)
举报原因:
原因补充:

(最多只允许输入30个字)